清除多余的setTimeout
如图,在alert上加一个延时,要达到的效果是转盘停止以后才弹窗,设置时间是9秒,如果点击一次效果还可以,但如果在延时9期间快速点击很多次的话,9秒以后就一直在弹窗,有没...
如图,在alert上加一个延时,要达到的效果是转盘停止以后才弹窗,设置时间是9秒,如果点击一次效果还可以,但如果在延时9期间快速点击很多次的话,9秒以后就一直在弹窗,有没有办法解决这个问题呢??请大神指教。
展开
1个回答
展开全部
$(".zx>li").click(function() {
clearTimeout(cce);
});
var cce;
$(window).scroll(function() {
var wintop = $(window).scrollTop();
clearTimeout( cce );//终止触发的setTimeout防止重复执行
cce = setTimeout(function() {
if (wintop > 200) {
if (!$(".bh").hasClass("gb")) {
$(".bh").addClass("gb");
$(".bh").animate({
top: 57
}, 500);
return false;
}
}
}, 1000);
});
clearTimeout(cce);
});
var cce;
$(window).scroll(function() {
var wintop = $(window).scrollTop();
clearTimeout( cce );//终止触发的setTimeout防止重复执行
cce = setTimeout(function() {
if (wintop > 200) {
if (!$(".bh").hasClass("gb")) {
$(".bh").addClass("gb");
$(".bh").animate({
top: 57
}, 500);
return false;
}
}
}, 1000);
});
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询