js页面滚动指定位置执行循环定时器,清除后第二次执行还是会加速?

图片描述

页面滚动到对应位置时,想数字从0开始滚动至1997,第一次执行正常,但离开指定范围后,数字回到0,再次到指定位置时再次滚动时,速度会变得特别快(循环定时器被多次执行累加,但下面已经清空了,为什么还会这样呢?)。

var shu1=0;
var maxshu1=$('.shu1').html();
var gd=0;
$('.pp_con2 .box01 .p02 font').text(0)
$(window).bind("scroll", function () { 
    var sTop = $(window).scrollTop();  
    var sTop = parseInt(sTop); 
    
    if (sTop >= 1200 && sTop<1800 && gd==0) {
        gd=1;
        timer2=setInterval(function(){
        shu1+=39
        $('.shu1').html(shu1)
        if(shu1>maxshu1-1){    
        clearInterval(timer2)
        $('.shu1').html(maxshu1)
            };
        },70);
        
        
       }
    if (sTop <= 1200 || sTop>=1800){
        $('.pp_con2 .box01 .p02 font').text(0);
        gd=0;
        clearInterval(timer2);
    }
   
});
阅读 3.2k
1 个回答
新手上路,请多包涵

问题解决,是自己忘了置零变量,无关定时器时间。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题