我希望在jquery航点上有两个补偿。 目前上下滚动只有一个相同。
我使用25%的“向下”偏移,并希望“向上”偏移“75%”。 因此,当一个块的顶部位于视口顶部的25%并且scolling正在下降时, 'down'被触发。当一个块的顶部位于视口顶部的75%处并且晃动时,将触发“向上”。
任何人都已为此hysteresis编写代码?
答案 0 :(得分:57)
你可以通过创建两个航点来实现这一点,每个航点都有不同的偏移,每个航点只响应一个方向:
$('.thing').waypoint(function(direction) {
if (direction === 'down') {
// Do stuff
}
}, {
offset: '25%'
}).waypoint(function(direction) {
if (direction === 'up') {
// Do stuff
}
}, {
offset: '75%'
});
更新:如果您正在使用Waypoints 3.0的jQuery版本,则上述代码将无效,因为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%'
});