取消绑定特定的函数jQuery

时间:2013-02-27 08:02:06

标签: jquery function scrolltop unbind

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

 $(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");});
     }
 });

2 个答案:

答案 0 :(得分:25)

杰斐逊,像... ...

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

现在,取消绑定滚动 - 我有一个唯一的标识符,以防你有其他窗口滚动事件,你不想搞砸。

$(window).unbind('.myScroll');

答案 1 :(得分:0)

您可以使用 jquery.unbind 函数取消绑定元素的任何特定事件