7

我要做的是在运行一次后取消绑定特定功能。在下面的代码中,它是窗口滚动。

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

基本上,当#div 淡出时,我希望它滚动到顶部(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 回答