if语句中的Javascript函数即使不满足条件也会继续运行
Javascript function inside if statement still runs even though condition is not met
我试图使,当用户滚动到某一点(1250px从顶部),脚本将运行一个函数"只是一次",然后当用户滚动更多,直到另一个1250px从点之前(2500px从顶部),脚本将再次运行该函数一次。
然而,我的脚本在1250像素之后继续运行函数,我已经添加了另一个1250到var current_post,所以在这一点上,var current_post应该是2500,如果var偏移量是1600,函数不应该运行,但它继续运行。
Javascript$(window).scroll(function() {
var offset = $(window).scrollTop();
var current_pos = 1250;
if(offset > current_pos) {
current_pos += 1250;
//do some function
}
});
请帮我指出我的错误并纠正我对这个的理解。
问题是每次事件被触发时,您都将current_pos
设置回1250。因此,您永远无法使用更新后的值。
尝试在事件处理程序之外设置current_pos
变量,这样它就不会在每个事件中被重新分配到1250。
var current_pos = 1250;
$(window).scroll(function() {
var offset = $(window).scrollTop();
if(offset > current_pos) {
current_pos += 1250;
//do some function
}
});
将var current_pos=1250
置于scroll
事件之外,如下所示:
var current_pos = 1250; //paste it here
$(window).scroll(function() {
var offset = $(window).scrollTop();
if(offset > current_pos) {
current_pos += 1250;
//do some function
}
});
输入变量:
var current_pos = 1250;
$(window).scroll(function() {
var offset = $(window).scrollTop();
console.log(offset);
if(offset > current_pos) {
current_pos += 1250;
//do some function
console.log(current_pos);
}
});
http://jsfiddle.net/sq32f7h8/相关文章:
- 如果不满足条件语句,则触发引导模式
- Javascripts 中的字符函数是 ret false,即使字符不满足 if 条件
- JS 在不满足条件时在 if 语句中运行代码段
- 加载文档时,如果不满足此条件,请停止加载
- 不满足条件时的警报应保留在向导中的同一窗格中
- 使用jquery检查是否选择了radio不满足条件
- 即使不满足条件,Jquery animate也会执行
- 如果条件在角度上不满足,我想禁用drop
- 为什么我的条件不满足
- 如果. .Else, Else块在if条件不满足时执行
- 如果在 javascript .some() 函数中不满足条件,则返回值
- 链接& lt; a>标签,当条件不满足时下载默认的HTML页面
- 如果条件不满足,为什么if子句会触发
- 尽管不满足条件,函数仍在运行
- Javascript "if else"当条件不满足时,不会进入其他区域
- 表单提交,即使它被封装在if语句中,并且不满足条件
- 即使条件n't不满足,while循环的结果仍然发生
- if语句中的Javascript函数即使不满足条件也会继续运行
- 如果条件不满足,如何在Dropzone.js中取消/中止上传
- Javascript如果语句条件不满足