php实现预加载和懒加载,关于前端:懒加载与预加载的区别

实践

懒加载: 提早加载图片,达到加载条件时再加载。

原理:img的src属性初始不搁置理论须要的链接,而是存在data-url属性中,达到某条件后再动静充值src属性值为data-url里的链接地址,实现懒加载。

作用:加重服务器压力,节约流量,页面加载速度快。

预加载:提前加载图片,当用户须要查看时是间接从浏览器缓存里取的资源,用户操作体验速度快。

原理:在浏览器加载页面时创立image对象并赋值src链接

作用:让用户有疾速的冲浪体验。

毛病:减少服务器压力,首页加载渲染工夫长。

区别:懒加载与预加载都有进步用于体验成果,然而优化体验成果的出发点不同,懒加载能够加重服务器压力,然而预加载会减少服务器压力;

实现

懒加载实现

// 这里以滚动可视区内懒加载需要为例

var imgs=document.getElementsByTagName('img');

var viewHeight=document.ducumentElement.clientHeight;

// 检测img元素是否在可视区

function inView (img){

var rectObject=document.getBoundingClientRect();

if(rectObject.bottom >= 0 && rectObject.top < viewHeight){

return true

}else{

return false

}

}

function lazyLoad(arr){

for(let i=0;i

if(inView(arr[i])){

arr[i].src=arr[i].dataset.url;

}

}

}

window.addEventListener('scroll',lazyLoad);

预加载实现

var imgs=['./1.jpg','./2.jpg','./3.jpg'];

var imgsDom=[];

function preLoad(arr){

for(let i=0;i

let item=new Image();

item.src=imgs[i];

imgsDom.push(item);

}

}

window.οnlοad=function(){

preLoad(imgs);

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值