根据目标位置触发无限滚动
Trigger Infinite Scroll based on target position
我试图在 window 滚动条底部到达目标 div 的位置时触发/允许加载一组新图像。
这里是滚动条到达页面底部时触发的公式,有轻微的偏移量 50,并且完美运行。
$(window).scroll( function() {
// Page height
var pageHeight = $(document).height();
// Window height
var winH = $(window).height();
// Scrollbar position
var scrollPos = $(this).scrollTop();
// Formula
var dist = pageHeight - (scrollPos + winH);
// When to load new images with a slight offset
var load = dist < 50;
if (load) {
addItems();
}
});
但是,如果我想使用目标的位置 div.infinite-scroll
需要什么计算/公式?我认为我可以用目标 div 的偏移量代替 50,但对我不起作用。
var targetPos = $(Infinite_Scroll.container).offset().top;
var load = dist < targetPos;
这似乎可以满足我的需要并且可以帮助其他人。如果您在计算中用目标容器代替 pageHeight
,则当 window 滚动条到达目标位置而不是页面底部时,将触发无限滚动。
// Before
var dist = pageHeight - (scrollPos + winH);
// Change
var dist = $(Infinite_Scroll.container).offset().top - (scrollPos + winH);
$(window).scroll( function() {
// Page height
var pageHeight = $(document).height();
// Window height
var winH = $(window).height();
// Scrollbar position
var scrollPos = $(this).scrollTop();
// Formula
var dist = $(Infinite_Scroll.container).offset().top - (scrollPos + winH);
// When to load new images with a slight offset
var load = dist < 50;
if (load) {
addItems();
}
});
我试图在 window 滚动条底部到达目标 div 的位置时触发/允许加载一组新图像。
这里是滚动条到达页面底部时触发的公式,有轻微的偏移量 50,并且完美运行。
$(window).scroll( function() {
// Page height
var pageHeight = $(document).height();
// Window height
var winH = $(window).height();
// Scrollbar position
var scrollPos = $(this).scrollTop();
// Formula
var dist = pageHeight - (scrollPos + winH);
// When to load new images with a slight offset
var load = dist < 50;
if (load) {
addItems();
}
});
但是,如果我想使用目标的位置 div.infinite-scroll
需要什么计算/公式?我认为我可以用目标 div 的偏移量代替 50,但对我不起作用。
var targetPos = $(Infinite_Scroll.container).offset().top;
var load = dist < targetPos;
这似乎可以满足我的需要并且可以帮助其他人。如果您在计算中用目标容器代替 pageHeight
,则当 window 滚动条到达目标位置而不是页面底部时,将触发无限滚动。
// Before
var dist = pageHeight - (scrollPos + winH);
// Change
var dist = $(Infinite_Scroll.container).offset().top - (scrollPos + winH);
$(window).scroll( function() {
// Page height
var pageHeight = $(document).height();
// Window height
var winH = $(window).height();
// Scrollbar position
var scrollPos = $(this).scrollTop();
// Formula
var dist = $(Infinite_Scroll.container).offset().top - (scrollPos + winH);
// When to load new images with a slight offset
var load = dist < 50;
if (load) {
addItems();
}
});