济南网站seo报价结构设计在哪个网站接单兼职做

张小明 2026/1/11 17:40:29
济南网站seo报价,结构设计在哪个网站接单兼职做,wordpress如何添加远程数据库,企业建设高端网站的目的利用MutationObserver+IntersectionObserver实现图片懒加载 前言 图片懒加载这并不陌生,对于前端性能优化来讲这是必经之路, 我们之前做图片懒加载都是用滚动监听实现,核心逻辑是监听scroll/resize/load事件-防抖后遍历所有懒加载图片-通过getBoundingClientRect()…利用MutationObserver+IntersectionObserver实现图片懒加载前言图片懒加载这并不陌生,对于前端性能优化来讲这是必经之路,我们之前做图片懒加载都是用滚动监听实现,核心逻辑是监听scroll/resize/load事件-防抖后遍历所有懒加载图片-通过getBoundingClientRect()计算图片位置,判断是否进入视口-加载图片伪代码window.addEventListener('scorll',debounce(()={document.querySelectorAll('img[data-lazy-src]').forEach(img={constrect=img.getBoundingClientRect()if(rect.topwindow.innerHeight+200rect.bottom0){img.src=img.dataset.lazySrc}})}))这么做可以实现么,可以,但是有没有缺点呢,有高消耗,scroll事件高频触发,及时使用了防抖,仍有频繁执行;且每次触发需要遍历所有懒加载图片,调用getBoundingClientRect;无法自动停止监听,及时图片已加载,仍会参与遍历动态图片无法覆盖,无法捕获异步新增的图片,需要手动调用检查函数开发成高,需要手动实现防抖、视口判断、边界条件(如提前加载、窗口缩放);需要手动处理动态图片,容易遗漏动态图片;需要手动避免重复加载精度低,视口判断依赖getBoundingClientRect(),受CSS变形,滚动条等影响,容易计算错误;稳定性差,因为有防抖延迟,可能导致图片延迟加载,高频滚动是js阻塞,可能导致页面卡顿等等,会有一系列的问题,而这些问题的根源在于判断图片是否进入视口时需要用scroll去监听那有没有不需要通过scroll去监听就能判断图片是否进入视口的方法呢,真好,还真有这个玩意叫InterSectionObserver,翻译为交叉观察器IntersectionObserver这是个啥玩意呢,他的作用就是目标元素与视口产生一个交叉区,看看这个交叉区的比率是多少,如果是0,则不可见,100则完全可见(0-100)则部分可见怎么用呢,直接上代码constobserver=newInterSectionObserver((entries,observer)={entries.forEach(entry={if(entry.inIntersecting){console.log('元素进入视口')}})})observer.oberve(document.qerySelector('target'))构造函数new IntersectionObserver(callback,options),callback是回调函数options是配置项主要有三个配置项,root,相对哪个容器进行检测rootMargin,扩展和收缩检测区域,可以理解为预支量,做预加载使用threshold,触发回调的交叉比例参数类型默认值说明rootElement nullnull(viewport)相对哪个容器检测(如滚动容器)rootMarginstring“0px”扩展/收缩检测区域(类似 margin,支持百分比)hresholdnumber number[]0触发回调的交叉比例(0~1 或 [0, 0.5, 1])callback中(entry)的信息如下time:45325//触发时间rootBounds:DOMRectReadonly//root的边界boundingClientRect:DOMRect//目标元素边界intersectionRect:DOMREct//交叉区域intersectionRatio:05//交叉比例isIntersecting:true//是否相交intersectionRatiothresholdtarget:element//被观察者对象讲完了IntersectionObserver,上篇文章我们还讲了MutationObserver,现在用这两个设计一个图片懒加载的实现图片懒加载设计思路我们理一下,我们要干这么几件事创建视口监听器和动态监听器处理页面上初始IMG处理动态新增的IMG上个详细的流程图为了更好的管理和组织,我们可以设计一个类lazyImagesLoder里面有上述的5个基本方法和4个基本属性基本属性包括配置属性config,视口实例intersectionObserver,DOM监听实例mutationObserver以及防止重复监听的容器observedImgs接下来就是代码组织了上代码!-- 懒加载图片:用>imgdata-lazy-src="1.jpg"alt="示例图片1"/imgdata-lazy-src="2.jpg"alt="示例图片2"/!-- 动态生成的图片(也会被监听) --buttononclick="addDynamicImg()"新增图片/button
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

wordpress多站点 文章中建集团的重要事件

Font Awesome图标定制化:从全量加载到精准裁剪的工程实践 【免费下载链接】Font-Awesome The iconic SVG, font, and CSS toolkit 项目地址: https://gitcode.com/GitHub_Trending/fo/Font-Awesome 在当今Web开发领域,图标资源优化已成为性能调优…

张小明 2026/1/7 3:58:29 网站建设

网站几个数据库广州现在可以正常出入吗

3大强力功能解放双手:Arknights-Mower明日方舟自动化全解析 【免费下载链接】arknights-mower 《明日方舟》长草助手 项目地址: https://gitcode.com/gh_mirrors/ar/arknights-mower 你是否曾经为《明日方舟》中繁琐的基建管理、日常任务和素材刷取而烦恼&am…

张小明 2026/1/9 1:37:51 网站建设

商业设计网站推荐平台线上推广策略怎么写

猫抓扩展资源嗅探故障排查完全指南:从问题识别到性能优化 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 当你使用猫抓扩展时,是否遇到过资源列表空空如也、下载按钮毫无反应的…

张小明 2026/1/7 6:48:50 网站建设

十堰网站开发衡水企业网站建设报价

第一章:Open-AutoGLM MCP 架构全景解析Open-AutoGLM MCP(Modular Control Plane)是一种面向大规模语言模型自动化任务的模块化架构设计,旨在实现模型调度、任务编排与资源管理的高度解耦。该架构通过标准化接口连接不同功能模块&a…

张小明 2026/1/9 9:39:39 网站建设

深圳制作网站建设网站是由哪些组成

Cracking the Coding Interview第6版:程序员面试准备的终极指南 【免费下载链接】CrackingtheCodingInterview第6版高清完整版PDF下载 《Cracking the Coding Interview》第6版是程序员面试准备的经典之作,本资源提供高清完整PDF版本。书中全面覆盖各类编…

张小明 2026/1/8 4:16:15 网站建设

网站源码免费的官网关键词优化价格

雷递网 雷建平 12月16日世盟供应链管理股份有限公司(简称:“世盟股份”)日前通过注册,准备在深交所主板上市。世盟股份计划募资7.08亿元,其中,2.06亿元用于世盟供应链运营拓展项目,4亿元用于世盟…

张小明 2026/1/10 19:08:11 网站建设