关于懒加载数据的获取

简介: 关于懒加载数据的获取

需求是:想要在页面中拿到懒加载的数据和图片,

就需要通过scroll滚动来模拟用户的操作

来把一些懒加载的数据 真正的加载出来,

最后去拿数据就可以了,

最后拿到数据后,需要自动回到顶部

难点1:懒加载的数据,没有加载的情况下

盒子的高度是没有撑开的,也就是说我们滚动的距离没法确认

难点2:懒加载的时候 不确定 啥时候能确定懒加载的数据加载完了?

需要某种机制来默认判断

需求明确了之后,思路:

页面加载进来之后,先把scroll的滚定值调为999999

然后监听window的scroll事件,

这里有一个技巧,

当没有滚动空间的时候,

scroll的滚动事件即为无效滚动,

然后在我们的window的scroll事件当中

写一个防抖,

当超过1、2秒时间的无限滚动时,

就视为没有更多懒加载的数据了,

此时回到顶部,并移除window的scroll事件

具体代码如下:

function scrollForProduct() {
let timerForDebounce = null;

function scrollFunc() {

console.log("scroll..");
if (timerForDebounce) clearTimeout(timerForDebounce);

timerForDebounce = setTimeout(() => {
  console.log("如果出现1秒钟的无效scroll 就回到顶部,并清除scroll事件");
  $("body,html").stop();
  $("body,html").animate({ scrollTop: 0 }, 1);
  // 清除scroll事件
  window.removeEventListener("scroll", scrollFunc, false);
}, 1000);

}
window.addEventListener("scroll", scrollFunc, false);

  先把scroll的滚定值调为20万
$("body,html").animate({ scrollTop: 200000 }, 15000);
}

复制代码
作者: Bill 本文地址: http://biaoblog.cn/info?id=1632385041705

版权声明: 本文为原创文章,版权归 biaoblog 个人博客 所有,欢迎分享本文,转载请保留出处,谢谢!

相关文章
|
4月前
|
缓存 JavaScript 前端开发
同步加载、异步加载、延迟加载、预加载的区别
同步加载、异步加载、延迟加载、预加载的区别
113 0
|
4月前
|
JavaScript
图片懒加载
图片懒加载
21 0
|
1月前
在实现路由懒加载和按需加载时,需要注意哪些问题?
在实现路由懒加载和按需加载时,需要注意哪些问题?
9 1
|
6月前
|
存储 JavaScript API
Vue3实现图片懒加载及自定义懒加载指令
Vue3实现图片懒加载及自定义懒加载指令
230 0
|
4月前
|
存储
图片懒加载(二)
图片懒加载(二)
20 1
|
9月前
|
数据采集 搜索推荐 UED
实现懒加载
懒加载是一种非常 useful 的技术,可以极大提高用户体验和网页性能,但也有一定的弊端,需要权衡选择。一般来说,对于加载的数据较多,页面性能和流量较为关注的场景,懒加载是一个不错的方案。但如果对 SEO 优化要求较高,或者加载的数据较少,也可以不使用懒加载
47 0
懒加载只能对图片进行懒加载吗?
懒加载只能对图片进行懒加载吗?
|
JavaScript 前端开发 UED
实现图片懒加载(及优化相关)
工作之余想要休闲一下(看-美-女-图),但是又觉得单纯休闲不利于自身进步,于是 ……
实现图片懒加载(及优化相关)
|
JavaScript UED
实现图片懒加载
实现图片懒加载