我希望在特定DOM节点进入视口时调用回调。
此外,我有以下情况:
aFarkas/lazysizes
。Intersection Observer API
未在某些需要支持的浏览器中实现。我不想添加Intersection Observer Polyfill
,因为aFarkas/lazysizes
捆绑了相同的功能。
因此我的问题是:是否可以使用aFarkas/lazysizes
来检测DOM节点何时进入视口?
答案 0 :(得分:2)
您可以使用data-expand
属性告诉aFarkas/lazysizes
何时触发lazybeforeunveil
事件,如下所示:
<div class="lazyload" data-expand="-20">
This will trigger a lazybeforeunveil event
when entering the viewport.
</div>
window.addEventListener(
'lazybeforeunveil', callback, false
);
请参阅data-expand
属性的文档:aFarkas/lazysizes#data-expand-attribute
答案 1 :(得分:0)
不,我认为不可能。
看起来aFarkas / lazysizes仅使用交集观察者({3}}
否则它们会限制每个滚动时触发的名为checkElements
的内部函数。 https://github.com/aFarkas/lazysizes/blob/master/src/lazysizes-intersection.js#L11
看起来他们没有公开这个功能:https://github.com/aFarkas/lazysizes/blob/master/src/lazysizes-core.js#L332
他们没有完全填充它,他们只是实现确保某些东西是可见部分。你可以依靠你正在做的事情。
``