2016-11-04 26 views
0

我的問題:如何在jquery中正確使用mousewheel和滾動事件?

if(user reach the bottom of the page){ 
     hide element; 
    }else{ 
     show element; 
    } 

我的解決方法是使用鼠標滾輪/滾動事件處理程序知道用戶在移動然後計算出如果我在頁面的底部,隱藏或顯示元素...

一切工作正常,但我得到這個worning的

處理「鼠標滾輪」輸入事件被推遲了123毫秒,由於主線程忙。考慮將事件處理程序標記爲「被動」,以使頁面更具響應性。

這(我猜)是由於這樣的事實,這段代碼

jQuery('body').on('mousewheel', function(e){ 

運行次數太多。

那麼我該如何讓這段代碼更高效?
有沒有辦法在滾動後運行事件?

我不想使用插件。

回答

1

您可以通過使用類似實現它:選中此fiddle

jQuery(window).on("scroll", function(){ 
     if($(window).scrollTop() + $(window).innerHeight() == $(document).height()) 
     { 
      //User reached end of page 
      //Hide element here 
      $("span").hide(); 
     } 
     else 
     { 
      //Show element here 
      $("span").show(); 
     } 
    });