7

私がやろうとしているのは、特定の関数を一度実行した後で、その関数のバインドを解除することです。以下のコードでは、ウィンドウスクロールです。

 $(window).scroll(function(){
     if($(window).scrollTop() == viewportheight ){
          $("#landing_page").fadeOut(function() { $(window).scrollTop(0); $(window).unbind("scroll");});
     }
 });

基本的に、#divがフェードアウトするときは、scrollTop(0)にします。上にスクロールした後、バインドを解除するには、この関数全体が必要です。

この関数に特定の名前を付けてから、その名前をコールバックする方法はありますか?このコードは機能するため、すべてのスクロール機能を削除するだけです。(もちろん私は望んでいません)私はそのようなことを考えていました:

 $(window).scroll(function(FUNCTION NAME HERE){
     if($(window).scrollTop() == viewportheight ){
          $("#landing_page").fadeOut(function() { $(window).scrollTop(0); $(window).unbind("FUNCTION NAME HERE");});
     }
 });
4

2 に答える 2

26

ジェファーソン、のようなもの...

$(window).bind("scroll.myScroll", function(){
     // stuff
  })

さて、スクロールのバインドを解除します-他のウィンドウスクロールイベントがある場合に備えて、一意の識別子があります。

$(window).unbind('.myScroll');
于 2013-02-27T08:07:07.143 に答える
0

jquery.unbind関数を使用 して、要素の特定のイベントをバインド解除できます

于 2013-02-27T08:04:16.417 に答える