2013-10-04 58 views
17

我很想在jquery航點有2個偏移量。 目前只有一個,相同的上下滾動。jquery航點「向上」事件的不同偏移量

我正在使用25%的「向下」偏移量,並希望「向上」偏移量爲「75%」。 因此,當一個塊的頂部位於視口頂部的25%處並且正在放下時,會觸發 '向下'。並且當一個塊的頂部位於視口頂部的75%處,並且正在進行模擬時,會觸發「向上」。

任何人已經爲此編寫了hysteresis的代碼?

回答

48

您可以通過創建兩個航點,每個都有不同的偏移這樣做,每次只響應一個方向:

$('.thing').waypoint(function(direction) { 
    if (direction === 'down') { 
    // Do stuff 
    } 
}, { 
    offset: '25%' 
}).waypoint(function(direction) { 
    if (direction === 'up') { 
    // Do stuff 
    } 
}, { 
    offset: '75%' 
}); 

更新:如果你正在使用jQuery建立航點3.0,上述代碼將無法工作,因爲waypoint不再鏈接jQuery對象。它會返回創建的Waypoint實例的數組。如果你不感興趣,保持周圍的數組引用,代碼是這樣的:

var $things = $('.thing'); 

$things.waypoint(function(direction) { 
    if (direction === 'down') { 
    // Do stuff 
    } 
}, { 
    offset: '25%' 
}); 

$things.waypoint(function(direction) { 
    if (direction === 'up') { 
    // Do stuff 
    } 
}, { 
    offset: '75%' 
}); 
+1

+1,謝謝你救了我一些時間。 –

+6

感謝您的更新重新:版本3 –