3-4中的js定时任务为什么会越来越快?

3-4中的js定时任务为什么会越来越快?

如题 按照视频敲的代码但是轮播的速度越来越快 而且间隔时间不一致

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
湛蓝牛仔 2018-01-05 17:46:38

你试着加上鼠标在页面上的清除效果试试

main.onmouseover=function(){

    clearTimeout(timer);

    }

没加上前,鼠标在banner图上可能会打断setInterval方法的执行,我是这么解决的

慕粉0907203 2017-12-14 16:45:13

我也遇到了这个问题,你看下这个博客估计就理解了 http://www.jb51.net/article/35474.htm 

提问者 慕圣2305398 2017-12-14 15:35:27

function byId(id){

return typeof(id) === "string"?document.getElementById(id):id;

}


var index=0,

    timer=null,

    pics=byId("banner").getElementsByTagName("div");

    len=pics.length;

   

   console.log(index);

function slideImg(){

// console.log(index);

var main =byId("main");

main.onmouseover=function(){

}

main.onmouseout=function(){

// console.log(index);

timer=setInterval( function(){

index++;

if(index>=len){

index=0;

}

changeImg();

console.log(index);

},3000);

}

main.onmouseout();

}


slideImg();


function changeImg(){

for(var i=0;i<len;i++){

pics[i].style.display="none";

}

pics[index].style.display='block';

}


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师