js 小案例 实现图片的懒加载

编程入门 行业动态 更新时间:2024-10-08 03:39:06

js 小案例 实现图片的懒<a href=https://www.elefans.com/category/jswz/34/1771433.html style=加载"/>

js 小案例 实现图片的懒加载

懒加载:顾名思义,大大的提高用户的体验节省不必要的资源浪费以及网站性能的提高

用于:图片较多的网站,如京东,淘宝,千图网等,图片量比较多,

需要用到(load,scroll)事件

你需要知道几个参数的意思 :

outerHeight():返回本身盒子的高度,包括边框哦

scrollTop():滚动条卷上去的内容高度

offset().top:.html

需要加载的图片设置,如下

data-src = 图片的真实地址

lazy-load = 全部要懒加载的图片都设置的公用class

 <img src=""  data-src='./images/po2.webp'  class="lazy-load">

使用的jq来实现   可以根据自己的实际情况更改

// 实现图片的懒加载问题
var $lazyload = $('.lazy-load'),$window = $(window);$window.on('load scroll', function () {//$B 获取浏览器底边框距离body的距离var $B = $window.outerHeight() + $window.scrollTop();//循环每张图片区域,根据自己区域距离boody距离  计算里面的图片是否加载 $lazyload.each((index, item) => {var $item = $(item),$itemA = $item.outerHeight() + $item.offset().top;console.log($item)$isLoad = $item.attr('isLoad');if ($itemA <= $B && $isLoad !== 'true') {$item.attr('isLoad', true)//获取当前item中的img$item.attr('src', $item.attr('data-src'))//判断img是否加载成功$item.on('load', () => $item.stop().fadeIn());}})})

也可以添加节流

// 实现图片的懒加载问题
var $lazyload = $('.lazy-load'),$window = $(window);
$window.on('load scroll',throttle(lazy,300))
function lazy () {console.log(1);//$B 获取浏览器底边框距离body的距离var $B = $window.outerHeight() + $window.scrollTop();//循环每张图片区域,根据自己区域距离boody距离  计算里面的图片是否加载 $lazyload.each((index, item) => {var $item = $(item),$itemA = $item.outerHeight() + $item.offset().top;$isLoad = $item.attr('isLoad');if ($itemA <= $B && $isLoad !== 'true') {$item.attr('isLoad', true)//获取当前item中的img$item.attr('src', $item.attr('data-src'))//判断img是否加载成功$item.on('load', () => $item.stop().fadeIn());}})
}
// 节流  在固定的时间执行一次
function throttle(fn, dealy) {var lastTime = ""return function (arg) {let nowTime = new Date().getTime()if (nowTime - lastTime > dealy) {lastTime = nowTimefn.call(this, arg)}}}

 

更多推荐

js 小案例 实现图片的懒加载

本文发布于:2024-03-09 23:51:56,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1726477.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:加载   案例   图片   js

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!