我正在制作一张有很多照片的照片库。我想使用延迟加载,只加载屏幕中可见的图像。画廊是一个div,因为整个画廊是一个更大的项目的一部分。
我想要什么:获取div的当前滚动位置,以便检查图像是否在div中可见。
我有什么:我在全窗口滚动条上工作,我只需将其更改为div。
var pItem = document.getElementsByClassName('progressive replace'), timer;
function inView() {
var wT = window.pageYOffset, wB = wT + window.innerHeight, cRect, pT, pB, p = 0;
while (p < pItem.length) {
cRect = pItem[p].getBoundingClientRect();
pT = wT + cRect.top;
pB = pT + cRect.height;
if (wT < pB && wB > pT) {
loadFullImage(pItem[p]);
pItem[p].classList.remove('replace');
}
else p++;
}
}
我需要这样的东西:
function inView() {
var wT = $('.image_view').pageYOffset, wB = wT + $('.image_view').innerHeight, cRect, pT, pB, p = 0;
while (p < pItem.length) {
cRect = pItem[p].getBoundingClientRect();
pT = wT + cRect.top;
pB = pT + cRect.height;
if (wT < pB && wB > pT) {
loadFullImage(pItem[p]);
pItem[p].classList.remove('replace');
}
else p++;
}
}
类image_view
是可滚动的div,里面有图像。
答案 0 :(得分:0)
我使用jQuery和scrolltop
得到了当前的滚动值;
$('#scrollableDiv').scrollTop();