我有一段程序在页面加载的时候,如下《代码A》设置了一个setInterval: sliderIntervalID = setInterval(function(){
if(active===false) {animate("next",true);}
},o.autoStart);然后在鼠标点击时间中用clearInterval(sliderIntervalID);取消了设置的定时器。
那么在鼠标再次点击后,怎么重新恢复这个定时器的功能呢?我现在用《代码A》重新设置定时器,但是没起作用。是不是因为这个sliderIntervalID已经被停止了,如果不刷新页面就不能再使用它了?

解决方案 »

  1.   

    我是想在鼠标移入移出一个div时,触发或者清除这个定时器。这样就能达到暂停的效果。因为移入时清除定时器就暂停,移出时恢复定时器,就会每隔8秒进入下一个slide。这个定时器是在页面加载时设置的,每隔8秒,切换到下一个slide。
    鼠标移入移出的代码如下: $(".slide",$t).hover(
    function(){clearInterval(sliderIntervalID);},
    function(){
    sliderIntervalID = setInterval(function(){
    if(active===false) {animate("next",true);}
    },o.autoStart);
    }
    );
      

  2.   

    定时器是在页面加载时设置的,每隔8秒切换到下一个slide。我添加了下面这段代码,为了实现鼠标移入移出时暂停和恢复的功能。比如鼠标移入时取消定时器就能暂停切换;鼠标移出时恢复定时器,就能恢复定时(8秒)切换的功能。
    $(".slide",$t).hover(
    function(){clearInterval(sliderIntervalID);},
    function(){
    sliderIntervalID = setInterval(function(){
    if(active===false) {animate("next",true);}
    },o.autoStart);
    }
    );
      

  3.   

    哥们,8秒钟很长啊,要知道clearInterval的作用是清除setInterval继续循环,而有可能再你clearInterval后,那8秒钟还没到,会再执行一次。