繁体   English   中英

使用自动滚动滚动时页面循环时出现故障

[英]Glitch when page is looping when scrolling with auto-scroll

我正在做自动滚动,它会检测鼠标滚轮向上或向下移动,它会继续自己滚动,但是当它到达顶部时,页面应该跳到底部并继续滚动到顶部,反之亦然. 但是当它到达顶部或底部时,它会卡住并出现故障。

这是我的循环代码

 $(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/

请记录lastScrollTopcurrentpos您的滚动事件。

当它运行到循环的页面底部或顶部时,你会看到你的问题,因为你的if条件if (st > lastScrollTop) => 在这种情况下不清楚。

希望能帮到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM