fluid-dev / hexo-theme-fluid

:ocean: 一款 Material Design 风格的 Hexo 主题 / An elegant Material-Design theme for Hexo
https://hexo.fluid-dev.com/
GNU General Public License v3.0
7.24k stars 1.12k forks source link

修正lazyload有时候失效的问题 #1090

Open appotry opened 5 months ago

appotry commented 5 months ago

把element 看做 上下左右加长offsetFactor的箱子来定位 原来的代码看不太明白意义

appotry commented 5 months ago

已经切换到dev分支了,还是有个测试报错

zkqiang commented 3 months ago

原本代码中 offsetFactor 是为了提前 N 屏的高度触发 lazyload

你这个实现是达不到之前的效果的

appotry commented 3 months ago

下面代码实现了提前触发的,判断两个盒子是否有重叠,无论放大哪一个盒子都是可行的

const viewportHeight = (window.innerHeight || document.documentElement.clientHeight) * (1 + offsetFactor);
const viewportWidth = (window.innerWidth || document.documentElement.clientWidth) * (1 + offsetFactor);