欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Javascript-setInterval setTimeout 判断是否取消 是否已清除

shiping1 的头像

Javascript-setInterval定时触发与取消

setInterval 定时触发

用法:timerID = setInterval(codeStr, milliSeconds);

  • timerID 是 setInterval 的返回值,返回定时器的 ID,当然也可以不要返回值。
  • codeStr 是要执行的代码。
  • milliSeconds 是触发的间隔时间,单位为毫秒。

示例

setInterval("alert('您好!');", 2000); //每 2 秒钟弹出一个对话框。

第一个参数也可以是函数,比如:

setInterval(function () { alert("您好!"); }, 2000); //每 2 秒钟弹出一个对话框。function () 是个匿名函数。

clearInterval 取消定时器

用法:clearInterval(timerID);

timerID 就是 setInterval 的返回值。

取 消定时器后,timerID 的值仍然是个数字,并没有置为 0 或 null,所以不能通过 timerID 是否为 0 或 null 来判断定时器是否有效。不过我们可以在取消定时器之后立即将 timerID 置为 0 或 null,这样就可以在其他地方用 timerID 来判断定时器是否有效了。




//首页的tab功能
$(document).ready(function(){
       if($('.tabul li')[0]!=null){
               var qianhuan;
               var currI = 1;
               size=3;
               //循环执行
            function loopTabulli()
            {
                
                     $('.tabul li').eq(currI).addClass('highlight');
                     $('.tabul li').eq(currI).siblings('li').removeClass('highlight');
                     var currId = currI+1;
                     $('#showcontent'+currId).css('display','block');
                    $('#showcontent'+currId).siblings('.showcontent').css('display','none');
                    currI =currI+1;
                    if(currI>=size){
                        currI = 0;
                    }
                    
            }
            
            // 这是从1开始
            
               qianhuan = setInterval(loopTabulli,4000);
                 $('.tabul li').mouseover(function(){
                       //clearTimeout(qianhuan);
                       clearInterval(qianhuan);
                       qianhuan =-1;
                     setTimeout(function(){;},timouttabul);
                     currI = $(this).index();
                     loopTabulli();
                     //$(this).addClass('highlight');
                     //$(this).siblings('li').removeClass('highlight');
                     //currI = $(this).index();
                  //var currId = $(this).index()+1;    
                 // $('#showcontent'+currId).css('display','block');
                  //$('#showcontent'+currId).siblings('.showcontent').css('display','none');
                  
                });
               //$('.dongtaixingwen').mouseout(function(){
                 //      qianhuan=setInterval(loopTabulli,4000);
               // });
             $('.dongtaixingwen')[0].onmouseout=function() {if(qianhuan==-1) {qianhuan=setInterval(loopTabulli,4000)};}
       }
    });



来自 http://hi.baidu.com/holmesian/item/0dddc082338f6acdef083d89

普通分类: