页面滚动到对应位置时,想数字从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);
}
});
问题解决,是自己忘了置零变量,无关定时器时间。