Javascript 整个滚动后的jQuery回调函数
我将一些函数绑定到jquery的“滚动”事件。为此:Javascript 整个滚动后的jQuery回调函数,javascript,jquery,callback,Javascript,Jquery,Callback,我将一些函数绑定到jquery的“滚动”事件。为此: $window.bind('scroll', function(){ fn1(...); afterScroll(); // function which should fired after whole scrolling. }) 问题是,我希望在所有滚动迭代之后启动“afterScroll()”函数。但是我认为当用户滚动一次时,事件函数会被触发几次(我用一些警报测试了这一点) a
$window.bind('scroll', function(){
fn1(...);
afterScroll(); // function which should fired after whole scrolling.
})
问题是,我希望在所有滚动迭代之后启动“afterScroll()”函数。但是我认为当用户滚动一次时,事件函数会被触发几次(我用一些警报测试了这一点)
afterScroll()应该在滚动完成后添加一个简短的动画
例如:
有人有主意吗?谢谢
问候,
Yannick如果我没弄错,只需在最后设置超时,如果滚动继续,请清除超时
setTimeout(1000, function(){ afterScroll(); });
如果我没弄错的话,只需在最后设置超时,如果滚动继续,请清除超时
setTimeout(1000, function(){ afterScroll(); });
很难说用户何时完成了滚动,而且没有这样的事件。您必须自行确定用户何时“完成”滚动。有些用户可能滚动得很慢,但仍会认为它是一个滚动条。类似于
var scrolltime = false;
$window.scroll(function () {
fn1(...);
if (scrolltime) {
clearTimeout(scrolltime);
}
//You consider 500 MS between scrolls to be "done" with scrolling.
scrolltime = setTimeout(afterScroll, 500);
});
很难说用户何时完成了滚动,而且没有这样的事件。您必须自行确定用户何时“完成”滚动。有些用户可能滚动得很慢,但仍会认为它是一个滚动条。类似于
var scrolltime = false;
$window.scroll(function () {
fn1(...);
if (scrolltime) {
clearTimeout(scrolltime);
}
//You consider 500 MS between scrolls to be "done" with scrolling.
scrolltime = setTimeout(afterScroll, 500);
});
您需要返回到afterScroll
基本上,除最后一个函数外,debounce将丢弃所有对该函数的重复调用,您只需设置一个阈值来告诉它“重复”是什么
以下是油门/去盎司功能的示例。非常好而且有用。我通常会将其包含在我的项目中。您需要返回到afterScroll
基本上,除最后一个函数外,debounce将丢弃所有对该函数的重复调用,您只需设置一个阈值来告诉它“重复”是什么
以下是油门/去盎司功能的示例。非常好而且有用。我通常将其包含在我的项目中。可能重复的--请在提出新问题之前使用搜索。可能重复的--请在提出新问题之前使用搜索。