嘿,我想要的是使用jQuery插件:
LazyLoad
但是,而不是在Window Scroll上触发事件 – 我想在触发时触发它
元素进入视野.
(我的网站上没有滚动条,因此不能选择滚动条).
在我没有头发之前帮助我.
编辑:好的,所以我让它工作 – 排序 – 它似乎只是垂直工作,只有溢出显示! *
最佳答案 您最好的选择是设置计时器并反复检查图像可见性.或者你可以使跟踪器功能公共方法,然后如果有什么改变,从外面调用它.
将LazyLoad更改为以下内容:
// ...
var elements = this;
if ("scroll" == settings.event) { // <-- you may want to remove conditional block
var tracker = function(event) { // <-- give it a name
var counter = 0;
elements.each(function() {
if ($.abovethetop(this, settings) ||
$.leftofbegin(this, settings)) {
/* Nothing. */
} else if (!$.belowthefold(this, settings) &&
!$.rightoffold(this, settings)) {
$(this).trigger("appear");
} else {
if (counter++ > settings.failurelimit) {
return false;
}
}
});
/* Remove image from array so it is not looped next time. */
var temp = $.grep(elements, function(element) {
return !element.loaded;
});
elements = $(temp);
};
(function repeat(){
tracker(); // <-- so you can use it here
if (elements.length)
setTimeout(repeat, 100); // <-- check every 100ms
})();
}
// ...