我写了一个无缝滚动的代码,请大家帮我看看,为什么这个定时器停不下来啊

来源:1-1 让你认识JS

慕运维8689091

2016-07-22 08:22

window.onload=function()
{
    
    var oDiv=document.getElementById('roll');
    var oImg=oDiv.getElementsByTagName('img');
    var oUl=document.getElementById('ul');
    var btnLeft=document.getElementById('left');
    var btnright=document.getElementById('right');
    var ali=oUl.getElementsByTagName('li');
    var isSpeed;
    var btnstop=document.getElementById('btn');
    var timer=null;
    
    btnLeft.onmouseover=function()
    {isSpeed=-13;}
    btnright.onmouseover=function()
    {isSpeed=13;}  //设置速度和方向
    oUl.innerHTML+=oUl.innerHTML;
    
    setInterval(move,100)    //定时器
    
    btnstop.onclick=function()
    {
        timer=setInterval(move,100)//为什么停不下来啊??????
        
        clearInterval(timer)}
    function move()
    {    
        oUl.style.width=ali.length*ali[0].offsetWidth+'px'
        oUl.style.left=oUl.offsetLeft+isSpeed+'px';
        
        if(oUl.offsetLeft<-oUl.offsetWidth/2)
        {oUl.style.left='0px';}
        else if(oUl.offsetLeft>0)
        {oUl.style.left=-oUl.offsetWidth/2+'px';}
    }
    
}

写回答 关注

4回答

  • Virtuesun
    2016-07-22 09:46:51
    已采纳

    为何要用两个定时器  上面那个一直在调用move啊

    慕运维868...

    感谢,我以为单纯的赋值时不会运行定时器。

    2016-07-22 11:08:02

    共 1 条回复 >

  • 乄小安静
    2016-07-30 14:46:25

    可以用浏览器打断点,按F12http://img.mukewang.com/579c4d370001e3f614400853.jpg

  • 乄小安静
    2016-07-22 10:08:41

    建议你运行过程中打断点,就能看出代码运行的走向

    慕运维868...

    请问DW中可以设置断点吗,我没有查到相关的资料

    2016-07-22 11:06:25

    共 1 条回复 >

  • 叶落风吹
    2016-07-22 09:51:10

       setInterval(move,100)    //定时器一行去掉

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题