day12--定时器回顾

             <!--通过点击第一个按钮实现:背景自动按时切换,点击停则会停止-->
<input type="button" value="换背景吧" />
<input type="button" value="停" />


<script>
var aBtn = document.getElementsByTagName('input');
var arrUrl = [ 'img/1.jpg', 'img/2.jpg', 'img/3.jpg', 'img/4.jpg' ];
var num = 0;                    //数组下标
var timer = null;               //用来停定时器的


var oBody = document.body;
aBtn[0].onclick = function (){
clearInterval( timer );  // null、未定义   用来清除定时器的,防止鼠标点击多次开启多个定时器让图片加速跳转

timer = setInterval(function(){
oBody.style.background  = 'url('+ arrUrl[num] +')';
num++;                                   //num值依次增加
num%=arrUrl.length;              //使值在0-3之间确保能在数组中循环
}, 1000);
};
aBtn[1].onclick = function (){
clearInterval( timer );

};


总结:定时器如果由用户控制(即事件),则先关后开(即先清除定时器,在执行定时器)。因为当用户点击多次后,图片背景的切换会加快。 假设:我叫A,每隔2分钟切换下图片。在这2分钟中的第一分钟开始时在叫B去每隔2分钟切换下图片,那么A会先把图片切换过来,然后在其没切换到下张的时候B又切换其图片      ---不知道是不是这个原因

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值