web中网站首页的图片延迟加载是怎么实现的
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章主要介绍web中网站首页的图片延迟加载是怎么实现的,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!随着页面信息越来越丰富饱满,尤其像淘宝,京东之类的购物网站,首页就是他们
千家信息网最后更新 2025年11月08日web中网站首页的图片延迟加载是怎么实现的
这篇文章主要介绍web中网站首页的图片延迟加载是怎么实现的,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
随着页面信息越来越丰富饱满,尤其像淘宝,京东之类的购物网站,首页就是他们的生命线!
最近在做某银行的网站,只有挤上首页才能得到更多的关注,于是乎各种业务人员就开始了首页位置之争,为了平息他们的战乱。首页囊括了他们全部的需求,他们满意的走人了,结果技术经理来了,说首页加载怎么这么大,于是乎,减!!!
首当其冲,缩小图片K数,不够,那怎么办,好吧,进入正题。长页面未显示的部分可以先不加载,省流量就是省钱,开搞!!!
思路就是,判断图片在页面中的位置,如果图片的位置大于小于当前的屏幕高度,那么显示图片,否则隐藏图片。
怎么一开始隐藏图片呢,很简单,,给一个浏览器不认识的属性csii_src,当需要显示图片的时候在element.src=element.getAttribute("csii_src");,思路很简单吧,上代码了。
function lazyLoad() { var map_element = {}; var element_obj = []; var download_count = 0; var last_offset = -1; var doc_body = null; var doc_element = null; var lazy_load_tag = []; function initVar(tags) { doc_body = document.body; doc_element = document.compatMode == 'BackCompat' ? doc_body: document.documentElement; lazy_load_tag = tags || ["img", "iframe"]; }; function initElementMap() { for (var i = 0, len = lazy_load_tag.length; i < len; i++) { var el = document.getElementsByTagName(lazy_load_tag[i]); for (var j = 0, len2 = el.length; j < len2; j++) { if (typeof(el[j]) == "object" && el[j].getAttribute("csii_src")) { element_obj.push(el[j]); }//欢迎加入全栈开发交流圈一起学习交流:1007317281 } } for (var i = 0, len = element_obj.length; i < len; i++) { var o_img = element_obj[i]; var t_index = getAbsoluteTop(o_img); if (map_element[t_index]) { map_element[t_index].push(i); } else { var t_array = []; t_array[0] = i; map_element[t_index] = t_array; download_count++; }//欢迎加入全栈开发交流圈一起学习交流:1007317281 } }; function initDownloadListen() { if (!download_count) return; /*var offset = (window.MessageEvent && !document.getBoxObjectFor) ? doc_body.scrollTop : doc_element.scrollTop;*/ var offset; if (os.firefox) { offset = doc_element.scrollTop; } else { offset = doc_body.scrollTop; } var visio_offset = offset + doc_element.clientHeight; if (last_offset == visio_offset) { // setTimeout(initDownloadListen, 200); return; } last_offset = visio_offset; var visio_height = doc_element.clientHeight; var img_show_height = visio_height + offset + 20; for (var key in map_element) { if (img_show_height > key) { var t_o = map_element[key]; var img_vl = t_o.length; for (var l = 0; l < img_vl; l++) { element_obj[t_o[l]].src = element_obj[t_o[l]].getAttribute("csii_src"); } delete map_element[key]; download_count--; } } // setTimeout(initDownloadListen, 200); }; function getAbsoluteTop(element) { if (arguments.length != 1 || element == null) { return null; } var offsetTop = element.offsetTop; while (element = element.offsetParent) { offsetTop += element.offsetTop; } return offsetTop; }//欢迎加入全栈开发交流圈一起学习交流:1007317281 function init(tags) { initVar(tags); initElementMap(); initDownloadListen(); $(window).scroll(function() { initDownloadListen(); }); }; init();}以上是"web中网站首页的图片延迟加载是怎么实现的"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
图片
首页
网站
交流
位置
就是
页面
网站首页
延迟
内容
学习交流
思路
更多
欢迎加入
篇文章
学习
开发
饱满
首当其冲
上代
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
新东方邮箱 服务器
计算机)数据库(技术)
软件开发属于什么付款用途
零基础学习网络安全工程过关案例
数据库技术方案写法
拼多多数据库面试教程
洛阳幼儿园网络安全教育活动
怎么实现多服务器登录
家庭组建服务器
数据库字段插入逗号分隔的字符串
综合数据库管理系统
与网络安全有关的短视频
武汉串口服务器怎么收费
网络安全认证技术缺点
冒险岛2服务器真卡
分布式数据库构建流程
网络安全竞赛新手题目怎么做
mesh 网络技术
末日觉醒多人服务器
网络安全技术专业人才
软件开发及维护费增值税税率
安徽通用软件开发平均价格
主要科技与互联网公司市值
boa网页服务器
163魔兽数据库
北京云翳互联网络科技有限公司
网络安全与应用工程就业
网络安全exp是什么意思
如何查网络安全密钥匙
上海移恒互联网科技