html中图片懒加载的实现方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
成都创新互联是一家集网站建设,湘东企业网站建设,湘东品牌网站建设,网站定制,湘东网站建设报价,网络营销,网络优化,湘东网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
所谓懒加载,是为了提高网页的打开的速度,获得更好用户体验的一种手段。其选择的重要的部分先加载,次要的部分需要的时候再加载。比如一个电商网站,首屏通常有很多的数据,清晰度较高的 banner 或轮播。页面非首屏部分会员很多商品夹杂着大量的图片。这是时候选择懒加载以保证首屏的流畅十分重要。
本文仅仅简单的举例图片的懒加载,是性能优化的入门的篇章,方法比较简单明了,只要有一点 js 基础就一定能看懂。
废话不多说
首先,对于非首屏的图片添加了 class="img-delay" 和 src属性,后者用来放置图片原始 url 地址的属性,对于图片本身的 src 属性,可以选择空着,或者添加一个”图片无法显示“的提示性图片,像天猫这样:
之后我们需要做的就是,当用户下滑到哪里就显示哪里的图片(提前一点点显示更好,这里不做提前了)
//首先你需要引入一个 jQuery 库 //获取需要延迟加载的图片 var $picDelay = $(".img-delay"); //在 window 上监听滑动事件 $(window).scroll(function(){ var scrollTop = $(window).scrollTop(); //滑块划过的距离 var screenHeight = screen.height; //屏幕浏览器内容部分的高度 //计算每个图片的位置是否符合要求 $picDelay.each(function(idx, ele){ var $ele = $(ele); //当scrollTop + screenHeight === ele.offsetTop时图片刚好出现上边沿 if(scrollTop + screenHeight >= ele.offsetTop){ $ele.attr("src", $ele.attr("src")).removeAttr('src').removeClass("img-delay"); } }); //当所有图片都加载了以后,移除这个事件 if($(".img-delay").length <= 0){ $(window).unbind("scroll"); } });
感谢各位的阅读!看完上述内容,你们对html中图片懒加载的实现方法大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注创新互联行业资讯频道。