我有一个jquery函数,first(),我在页面加载时运行它来做一个图像旋转木马。当用户向下滚动时,我希望该功能暂停 - 理想情况下,但不一定 - 在您向后滚动到页面顶部时恢复。
我尝试过各种各样的事情,包括:
$(document).ready(function first(){
etc
});
$(window).scroll(function(){
if ($(window).scrollTop()==0){
first()
}
else {
second()
}
});
其中second()只在旋转木马中显示一个图像(称之为A)。但是,这只是将图像A插入到序列中,直到下一个轮播转换 - 大概是因为我有第一个()从页面加载运行而且它没有停止。我怎么能暂停呢?谢谢!
答案 0 :(得分:0)
我能想到的最好的解决方案是使用日期对象基本上暂停该函数n秒。我希望这有帮助
https://jsfiddle.net/8r87en6t/1/
var counter = $('#count'),
pause = new Date();
//function to run continuously
function increment() {
var now = new Date();
setTimeout(function () {
if (now > pause) {
var current = parseInt(counter.text());
counter.text(current += 1);
}
increment();
}, 100);
};
//kick it off intially
increment();
//scroll watch
$(document).on('scroll', function () {
pause = new Date();
pause.setSeconds(new Date().getSeconds() + 2);
});