时间:2021-05-18
一般情况下网页中的图片都是随文档流依次加载的,什么时候用到则什么时候加载,但是有些时候这样的加载方式往往会影响用户体验,比如鼠标hover变换背景图片的时候,只有鼠标移入才会对变换的图片进行加载,这样就可能会出现片刻的加载空白现象;又比如图片显示后隐藏再显示网站内容等也是同样的道理。
为了在必要的时候增加用户体验,提高网页的交互逼格,这里不得不介绍下图片预加载的艺术啦。
那么什么是图片预加载呢?
道理很简单啦,虽然某些图片一时半会我用不到,但是为了避免使用时出现的措手不及的现象,我还是乖乖把它们先准备好,在某些时候悄悄的把它们加载进来,以防一时之需。
ok,那么怎么才能实现这样的功能呢?
其实很简单啦,
这里呢就介绍一个jquery库的preLoadImages()函数,使用这个函数呢就可以轻松实现图片预加载了,下面来一睹为快吧,代码如下:
$(function(){ var cache=[]; //编写一个预加载图片的jQuery函数 $.preLoadImages = function(){ //获取函数体的参数个数 var args_len = arguments.length; //反向循环参数个数,创建img元素 for(var i = args_len ; i--;) { var cacheImage = document.createElement(‘img'); //指定img元素的src属性为数组元素的值 cacheImge.src = arguments[i]; //将HTML元素加入到数组中 cache.push(cacheImage); } } });ok,注释都写的十分清楚了吧,还是没看懂?好吧那么我们先不管代码了,其实只要通过下面一步就可以完成函数的调用,如下:
//预加载图片 $.preLoadImages('images/sample1.jpg','images/sample2.jpg','images/sample3.jpg');其中的
'images/sample1.jpg','images/sample2.jpg','images/sample3.jpg'
就是图片的路径,预加载多张图片就用逗号分隔啦,
这样在网页上的任何位置引用图片时,将从缓存中获取所需的图片,从而提升用户的体验,使网站获得更好的流畅性哦。
那么还没完,有人可能会问万一图片路径失效加载出错了咋办?
呵呵,再教你一招,出错就出错了呗,我们有plan B,针对出错的图片显示另一张我们事先准备好的图片,用这张图片来替换所有无法显示的图片,那么怎样才能做到呢,方法也十分简单,代码如下:
$(function(){ $("img").error(function(){ $(this).prop("src","images/planB.jpg"); });});搞定,这下我们做的万无一失了,
这里主要介绍下error()事件,它的定义和用法为:
当元素遇到错误(没有正确载入)时,发生 error 事件。
error() 方法触发 error 事件,或规定当发生 error 事件时运行的函数。
很好理解吧,至此我们的图片预加载的方法就介绍完了。
本文部分代码及写作思路参考于《超实用的JQuery代码段》一书,欢迎大家积极尝试、评论及指正。
以上就是本文的全部内容,希望对大家有所帮助,同时也希望多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了jQuery实现预加载图片的方法。分享给大家供大家参考。具体分析如下:这段js代码用于预加载图片,记住是预加载,不是后加载哟,就是在图片还不显示的
本文实例讲述了javascript图片预加载的方法。分享给大家供大家参考。具体如下:lightbox类效果为了让图片居中显示而使用预加载,需要等待完全加载完毕才
本篇文章主要介绍了懒加载和预加载两种技术的解析,废话不多说,一起来看吧。懒加载也叫延迟加载:前一篇文章有介绍:JS图片延迟加载延迟加载图片或符合某些条件时才加载
使用jquery实现图片预加载提高页面加载速度和用户体,本就为大家详细分析jquery图片预加载的实现原理。什么时候使用图片预加载?如果页面使用了很多不是最初加
图片预加载(function($){varcache=[];//Argumentsareimagepathsrelativetothecurrentpage.$