jquery waypoint“up”事件的不同偏移量

时间:2013-10-04 12:40:46

标签: jquery jquery-waypoints

我希望在jquery航点上有两个补偿。 目前上下滚动只有一个相同。

我使用25%的“向下”偏移,并希望“向上”偏移“75%”。 因此,当一个块的顶部位于视口顶部的25%并且scolling正在下降时, 'down'被触发。当一个块的顶部位于视口顶部的75%处并且晃动时,将触发“向上”。

任何人都已为此hysteresis编写代码?

1 个答案:

答案 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%'
});