我有一个大的垂直滚动,DIV 堆叠在其他 DIV 的顶部。我试图弄清楚用户当前正在查看哪个 DIV。我设法使用航点很好地做到了这一点,但我允许用户在 DIV 中加载更多内容(这使得它们更高)并且似乎搞砸了航点。
这是我的航路点代码的样子,每个 DIV 都有一个:
$(function() {
var $things = $('#infoWrapper');
$things.waypoint(function(direction) {
if (direction === 'down') {
//do stuff
}
}, { offset: function() {
return $(this).height()-($.waypoints('viewportHeight') / 3);
}
});
$things.waypoint(function(direction) {
if (direction === 'up') {
//do stuff
}
}, {
offset: function() {
return -$(this).height()+($.waypoints('viewportHeight') / 1.2);
}
});
});
我想知道是否有更好的方法来做到这一点;也许测试 DIV 以查看哪个 DIV 具有最高的 viewportHeight 百分比(因此,如果用户滚动以使 DIV1 具有 20% 而 DIV2 具有 40% 则运行 DIV2 代码等)。
了解当前正在查看哪个 DIV(高度未知)的最佳方法是什么?