【发布时间】:2017-07-03 00:18:11
【问题描述】:
因此,使用以下代码,console.log 输出会在滚动页面时多次滚动到开发工具控制台。
$(document).on("scroll", function() {
if ($(this).scrollTop() > 25) {
console.log("scrolled");
//do something
}
else {
//do something
}
});
因此,如果我有一堆 javascript 来控制将导航栏设置为粘性,它会有效地运行很多次。这似乎是一个糟糕的方法。
我尝试使用以下代码阻止滚动事件:
$(document).on("scroll", function(e) {
if ($(this).scrollTop() > 25) {
console.log("scrolled");
//do something
e.preventDefault();
}
else {
//do something
}
});
但它仍然多次输出滚动到开发工具。
我也尝试使用 @jswebb 建议的 break 语句,但它给了我这个 js 错误 Uncaught SyntaxError: Illegal break statement
这是显示输出的屏幕截图。
我怎样才能防止这段代码运行多次,但如果$(this).scrollTop() !> 25重新运行,那么在else语句中。
干杯
【问题讨论】:
标签: javascript jquery coding-style standards