如何使用clearTimeout()取消函数
How to cancel function using clearTimeout()?
当停留在底部页面不到4秒时,如何使用clearTimeout()取消函数。?
当停留在底部页面4秒时,会发出警报,没事^^
但当停留在底部页面不到4秒时,然后滚动到顶部页面,为什么它会被提醒太
<script src="http://code.jquery.com/jquery-1.7.2.js"></script>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<script>
$(window).scroll(function(){
var height = $('#idpage').height();
var scroll_top = $(this).scrollTop();
if(($(window).scrollTop() + $(window).height() == $(document).height())){
var timer = setTimeout(function() {
alert("bottom");
}, 4000);
}
else{
clearTimeout(timer);
}
});
</script>
您已经将timer
声明为局部变量,因此每次调用scroll
处理程序时都会使用新的变量引用。相反,您需要保留上一个计时器的值,因此需要在scroll
处理程序(如)的范围之外声明变量
var timer;
$(window).scroll(function () {
var height = $('#idpage').height();
var scroll_top = $(this).scrollTop();
if (($(window).scrollTop() + $(window).height() == $(document).height())) {
timer = setTimeout(function () {
alert("bottom");
}, 4000);
} else {
clearTimeout(timer);
}
});
您需要在滚动事件的顶部定义计时器变量。
var timer = 0;
$(window).scroll(function(){
var height = $('#idpage').height();
var scroll_top = $(this).scrollTop();
if(($(window).scrollTop() + $(window).height() == $(document).height())){
var timer = setTimeout(function() {
}, 4000);
}
else{
if ( timer) {
console.log(timer);
clearTimeout(timer);
}
}
});
相关文章:
- jquery点击函数select&取消选择
- 如何取消object.prototypes javascript的一个函数
- 如何从另一个处理程序内部取消JavaScript事件处理程序函数的执行
- 如何在调用去抖函数之后和执行之前取消该函数
- 当函数取消隐藏 2 个元素时,如何在 javascript 中显示/隐藏
- 元素单击处理程序由一个神秘的函数取消设置
- 我可以使用一个函数让所有复选框都被选中或取消选中吗(不使用点击触发器)
- 用变元取消对函数的调用
- .submit JS函数在Safari中不显示CSS覆盖(除非我取消页面加载)
- 在再次被调用之前取消调用函数
- HTMLJavascript-如何向输入语句添加函数并隐藏输入语句,除非选中“是”,然后取消隐藏
- 在javascript中使用.replacement()函数时,请避免取消挂起事件处理程序
- 取消绑定由加载jQuery'的外部脚本添加的事件;s的getScript函数
- 使用构造函数创建的数字没有其值作为属性,请取消String与构造函数的链接
- Javascript:通过另一个函数取消提示
- Javascript函数用于选择/取消选中radgrid标头模板中的所有复选框
- 通过javascript函数取消设置php数组元素
- 如何使用clearTimeout()取消函数
- 取消函数开始时的动画
- Javascript中如何重定向取消函数