2016-11-04 4 views
0

私の問題:mousewheelとscrollイベントをjqueryで正しく使うには?

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(); 
     } 
    }); 
をチェック
関連する問題