簡體   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