定时器 — 换背景图片

本文介绍了一个通过用户点击按钮控制的背景图片定时切换功能。点击'换背景'按钮,页面背景图片会自动更换;点击'停'按钮则停止图片更换。在实现过程中,强调了三个关键点:遵循先关后开的原则,开启定时器前先清除定时器,以避免图片频闪和无法停止的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里写图片描述

点击换背景按钮,页面背景自动更换;点击停按钮,图片停止更换;

html:

<input type="button" value="点我换个背景吧">
<input type="button" value="停!">

js:

var body = document.body;//获取页面
var btn = document.getElementsByTagName('input');//获取按钮
var arrUrl = ['img/13.jpg','img/14.jpg','img/15.jpg','img/16.jpg'];//图片数组
var num = 0;//一般有数组的地方都是有数字的,有数字就可以操作数组
var timer = null;//要设置定时器首先得有开关

// 给按钮添加点击事件
btn[0].onclick = function(){    
    clearInterval(timer);//在每次使用定时器前先清除一下定时器
    timer = setInterval(function(){
        body.style.background = 'url('+arrUrl[num]+')';//url后面的内容是根据数组来定的所以拼接
        num++;
        num %= arrUrl.length;//num 除以数组的长度,这样每次就只有数组中的图片来回切换 
    },2000);//二秒钟之后执行该函数
};
// 点击停按钮,清除定时器
btn[1].onclick = function(){
    clearInterval(timer);
};

注意:
1、定时器如果是由用户控制(事件控制),一定要遵循一个原则:先关后开;
2、在开定时器前一定要先清除定时器clearInterval(timer);
3、如果不先清除定时器会出现频闪现象,而且也停不下来,因为一个定时器还有没有完毕,又继续开启定时器会造成快速换图片;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值