我正在执行自动滚动,它将检测鼠标滚轮的向上或向下移动,并且它将继续自行滚动,但是当到达顶部时,页面应跳到底部,并继续滚动到顶部反之亦然。但是当它到达顶部或底部时会卡住并出现故障。
这是我的循环代码
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() > $(document).height() - 1) {
$(window).scrollTop(0)
}
else if ( $(window).scrollTop() == 0 ) {
$(window).scrollTop( $(document).height() );
}
});
这是用于自动滚动的东西。
var lastScrollTop = 0,
currentpos = 0;
$(window).scroll(function(event){
var st = $(this).scrollTop();
if (st > lastScrollTop){
// downscroll code
currentpos = window.pageYOffset + 1
window.scroll(0, currentpos)
} else {
// upscroll code
currentpos = window.pageYOffset - 1
window.scroll(0, currentpos)
}
lastScrollTop = st;
});
我尝试在代码段,codepen或jsfiddle上执行此操作,但是它不起作用。 供参考,我在这里http://block-s.net/caps/
答案 0 :(得分:0)
请记录lastScrollTop
和currentpos
的滚动事件。
在这种情况下,如果您遇到问题if
if (st > lastScrollTop)
=>并循环到页面底部或页面顶部,则会看到问题。
希望对您有帮助。