广告
返回顶部
首页 > 资讯 > 精选 >javascript如何实现图片预加载和懒加载功能
  • 398
分享到

javascript如何实现图片预加载和懒加载功能

2023-06-14 05:06:26 398人浏览 安东尼
摘要

这篇文章主要介绍“javascript如何实现图片预加载和懒加载功能”,在日常操作中,相信很多人在javascript如何实现图片预加载和懒加载功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”javascr

这篇文章主要介绍“javascript如何实现图片预加载和懒加载功能”,在日常操作中,相信很多人在javascript如何实现图片预加载和懒加载功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”javascript如何实现图片预加载和懒加载功能”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

JavaScript的特点

1.JavaScript主要用来向html页面添加交互行为。2.JavaScript可以直接嵌入到HTML页面,但写成单独的js文件有利于结构和行为的分离。3.JavaScript具有跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行。

预加载

预加载是预先加载好后面需要用到的资源, 后面使用的时候直接去缓存里取。举个栗子, 比如一个网站的开场动画, 这些动画是由很多图片组成的, 假如不预先加载好, 那就会造成动画不流畅产生闪动白屏。图片是提高用户体验的一个很好方法。图片预先加载到浏览器中,保证了图片快速、无缝地发布,使用户在浏览你网站内容时获得更好的用户体验。

//这里我把图片数量写死了,而且对图片名也有要求必须是阿拉伯数字后缀为jpg//下面注释还会介绍另一种方法,两者选一个就行,当然也可以把你的方法留在评论区共同学习function preload() {  for(var i=1;i<13;i++){    var img=[];    img[i]=new Image();//创建一个img对象    img[i].src="img/"+i+".jpg"  }}// 定义了一个函数,带一个参数funfunction addLoadEvent(fun) {  // 把已经加载完成的函数赋值给oldnload变量  var oldonload = window.onload;  if (typeof window.onload != 'function') {    window.onload = fun;  } else {    window.onload = function() {      // 这里执行了刚才赋值变量的函数      oldonload();      // 这里是执行了传进来的func参数      fun();    }  }}addLoadEvent(preload());

这里可以看到图片已经经加载出来了

javascript如何实现图片预加载和懒加载功能

懒加载

可以有效避免同一时间浏览器需要加载过多的图片,同时开启过多的Http请求,导致网页加载速度变慢。

<div>  <img src="img/lode.img" data-src="img/1.img" class="lazylode">  <img src="img/lode.img" data-src="img/2.img" class="lazylode">  <img src="img/lode.img" data-src="img/3.img" class="lazylode">  <img src="img/lode.img" data-src="img/4.img" class="lazylode">  <img src="img/lode.img" data-src="img/5.img" class="lazylode">  <img src="img/lode.img" data-src="img/6.img" class="lazylode">  <img src="img/lode.img" data-src="img/7.img" class="lazylode">  <img src="img/lode.img" data-src="img/8.img" class="lazylode"></div><script> var lazylode=document.querySelectorAll('.lazylode');//获取的是类数组对象,只有item()方法和length属性没有数组对象的方法var imgArr=Array.prototype.slice.call(lazylode);//将类数组转化为数组lazylodeImg();//要执行的懒加载方法,一开始应该先执行一次懒加载,让显示区域内的图片加载出来var timer;window.addEventListener('scroll',function(){  clearTimeout(timer);//节流  timer=setTimeout(function(){    lazylodeImg();//屏幕滚动执行懒加载  },100);},false)function lazylodeImg(){  for(var i=0;i<imgArr.length;i++){    if(isVisibleArea(imgArr[i])){//判断是否在可视区域内      imgArr[i].src=imgArr[i].getAttribute('data-src');      //修改src为自定义的属性      imgArr.splice(i,1);//将数组中已加载的图片移除数组      i--;      //因为从数组中删除了下标为1的数,那么原来下标为2的数就进位为1了    }  }}function isVisibleArea(el){  var rect=el.getBoundinGClientRect();  //获取元素距离可视区域的top,left等值  return rect.bottom>0 && rect.top<window.innerHeight && rect.right>0 && rect.left<window.innerHeight;  //都为真才会返回true}</script>

不光是图片,js,CSS文件等都可以按需加载,创建一个script或者link标签,让后在里面添加要呈现的效果,添加到body或者header里面,执行完滚动事件后js或者css文件已经加载完成,移除屏幕滚动事件。

到此,关于“javascript如何实现图片预加载和懒加载功能”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: javascript如何实现图片预加载和懒加载功能

本文链接: https://www.lsjlt.com/news/267910.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • javascript如何实现图片预加载和懒加载功能
    这篇文章主要介绍“javascript如何实现图片预加载和懒加载功能”,在日常操作中,相信很多人在javascript如何实现图片预加载和懒加载功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”javascr...
    99+
    2023-06-14
  • javascript实现图片预加载和懒加载
    本文实例为大家分享了javascript实现图片预加载和懒加载的具体代码,供大家参考,具体内容如下 预加载 预加载是预先加载好后面需要用到的资源, 后面使用的时候直接去缓存里取。举个...
    99+
    2022-11-11
  • JavaScript如何实现图片懒加载
    这篇文章主要介绍了JavaScript如何实现图片懒加载,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。图片懒加载imagegetBoundClientRect 的实现方式,监...
    99+
    2023-06-27
  • JS如何实现图片预加载之无序预加载功能
    这篇文章主要介绍JS如何实现图片预加载之无序预加载功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!图片预加载之无序预加载的效果图如下所示,如果大家感觉不错,请参考实现代码。具体代码...
    99+
    2022-10-19
  • webpack如何实现懒加载和预加载
    小编给大家分享一下webpack如何实现懒加载和预加载,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!正常加载为了看的方便,index.js中的代码非常简单console.log('index.js执行了')...
    99+
    2023-06-22
  • JavaScript怎么实现图片懒加载
    本篇内容介绍了“JavaScript怎么实现图片懒加载”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!实现思路实现图片懒加载我们需要先明白具体...
    99+
    2023-07-02
  • 如何实现前端图片懒加载
    这篇文章主要介绍了如何实现前端图片懒加载,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。定义图片懒加载又称图片延时加载、惰性加载,即在用户需要...
    99+
    2022-10-19
  • JavaScript懒加载与预加载原理与实现详解
    目录1、懒加载1.1、什么是懒加载1.2、为什么要使用懒加载1.3、懒加载的优点1.4、懒加载的原理1.5、懒加载的实现步骤1.6、懒加载的实现方式2、预加载2.1、什么是预加载2....
    99+
    2022-11-13
  • 一文搞懂JavaScript如何实现图片懒加载
    目录实现思路准备知识data-*getBoundingClientRect()throttlewindow.innerHeight完整代码js部分CSS部分运行结果总结图片懒加载,往...
    99+
    2022-11-13
  • Vue怎么实现图片懒加载
    本篇内容主要讲解“Vue怎么实现图片懒加载”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue怎么实现图片懒加载”吧! 1.下载 npm i vue-laz...
    99+
    2022-10-19
  • js前端如何实现图片懒加载
    这篇文章主要介绍js前端如何实现图片懒加载,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!思路:将页面里所有img属性src属性用data-xx代替,当页面滚动直至此图片出现在可视区域...
    99+
    2022-10-19
  • jQuery如何预加载图片
    这篇文章给大家分享的是有关jQuery如何预加载图片的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。预加载图片This piece of code&n...
    99+
    2022-10-19
  • 怎么实现vue-lazyload图片懒加载
    这篇文章主要介绍“怎么实现vue-lazyload图片懒加载”,在日常操作中,相信很多人在怎么实现vue-lazyload图片懒加载问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2022-10-19
  • js怎么实现图片的懒加载
    这篇文章给大家分享的是有关js怎么实现图片的懒加载的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。图片的懒加载是前端优化必须要掌握的东西,图片实现懒加载可以节省带宽又可以减轻我们网页的负荷。接下来我来记录一下我所掌...
    99+
    2023-06-14
  • 小程序如何实现图片预加载
    这篇文章主要为大家展示了“小程序如何实现图片预加载”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“小程序如何实现图片预加载”这篇文章吧。    网页有页面预加载,小程序也有图片预加载,小程序图片加...
    99+
    2023-06-26
  • JavaScript canvas实现加载图片
    本文实例为大家分享了JavaScript canvas实现加载图片的具体代码,供大家参考,具体内容如下 代码: <!DOCTYPE html> <html&g...
    99+
    2022-11-12
  • 怎么在HTML5中实现一个图片预加载功能
    这篇文章给大家介绍怎么在HTML5中实现一个图片预加载功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在HTML5中,我们可以使用drawImage方法在canvas上进行画图操作,其基本代码如下:var ...
    99+
    2023-06-09
  • vue3图片懒加载IntersectionObserver和useIntersectionObserver如何用
    这篇文章主要讲解了“vue3图片懒加载IntersectionObserver和useIntersectionObserver如何用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue3图片...
    99+
    2023-07-06
  • jquery插件如何实现懒汉式加载图片
    这篇文章主要为大家展示了“jquery插件如何实现懒汉式加载图片”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jquery插件如何实现懒汉式加载图片”这篇文章吧...
    99+
    2022-10-19
  • 小程序如何实现图片懒加载方式
    这篇文章主要介绍了小程序如何实现图片懒加载方式,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。意义懒加载或者可以说是延迟加载,针对非首屏或者用...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作