我想使用jQuery
我设法得到了第一点使用下面的代码,但没有关于第二点的线索。
$(window).scroll(function() {
if($(window).scrollTop() == 0) {
// do something
}
});
答案 0 :(得分:1)
所以基本上你可以做一个setTimeout,然后再次滚动时清除超时。例如:
var timer;
$(window).scroll(function() {
if($(this).scrollTop() === 0) {
timer = setTimeout( doSomething, 2000 );
} else {
clearTimeout(timer);
}
});
var doSomething = function(){
alert('I just sat at the top for two seconds!');
};
工作示例:http://jsfiddle.net/dXRhb/2/
答案 1 :(得分:1)
cleartimeout。否则它将在1000毫秒后调用函数(您可以根据您的要求进行设置)。
var c;
$(window).scroll(function() {
if($(window).scrollTop() == 0) {
c = setTimeout(function(){
// do stuff
}, 1000);
}
else{
clearTimeout(c);
}
});
答案 2 :(得分:0)
var myTimer; // Global variable
$(window).scroll(function()
{
if($(window).scrollTop()==0)
{
myTimer = setTimeout(function() {
/* what you want to happen goes here */
},
1000) // Time in milliseconds
}
else
{
clearTimeout(myTimer);
}
});
答案 3 :(得分:0)
没有全局变量怎么做?
$(window).on('scroll', function() {
if ($(this).scrollTop() === 0) {
$(this).data('scrollTimer',
setTimeout(function(){
// do stuff
}, 1000)
);
}
else{
clearTimeout($(this).data('scrollTimer'));
}
});