2015-06-09 89 views
0
p.initInfiniteScroll = function(){ 
    $(window).on('scroll', this.infiniteScroll.bind(this)); 
}; 

p.terminateInfiniteScroll = function(){ 
    $(window).off('scroll', this.infiniteScroll); 
}; 

p.infiniteScroll = function(){ 

    if($(window).scrollTop() == $(document).height() - $(window).height()){ 

     this.loadMore(); 
    } 
}; 

p.loadMore = function(){ 

    console.log('load more'); 
    this.terminateInfiniteScroll(); 

}; 

我初始化我的無限滾動,則在滾動我打電話loadMore,這個功能我試着關掉無限滾動但這並沒有影響內部 - 我要去哪裏錯了?關閉滾動收聽

回答

0

你需要保持你的「綁定」功能的參考

var myFunc = this.infiniteScroll.bind(this); 

p.initInfiniteScroll = function(){ 
    $(window).on('scroll', myFunc); 
}; 

p.terminateInfiniteScroll = function(){ 
    $(window).off('scroll', myFunc); 
}; 
+0

爲什麼我需要創建一個變種吧,爲什麼我不能只是參考方法本身? – panthro