解析预加载显示图片艺术

 更新时间:2016年12月05日 10:55:11   作者:劳卜  
本文主要介绍了预加载显示图片艺术实现的方法--一个jquery库的preLoadImages()函数,使用这个函数就可以轻松实现图片预加载了。需要的朋友可以看下

一般情况下网页中的图片都是随文档流依次加载的,什么时候用到则什么时候加载,但是有些时候这样的加载方式往往会影响用户体验,比如鼠标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代码段》一书,欢迎大家积极尝试、评论及指正。

以上就是本文的全部内容,希望对大家有所帮助,同时也希望多多支持脚本之家!

相关文章

  • jQuery File Upload文件上传插件使用详解

    jQuery File Upload文件上传插件使用详解

    jQuery File Upload 是一个Jquery文件上传组件,支持多文件上传、取消、删除,上传前缩略图预览、列表显示图片大小,支持上传进度条显示;支持各种动态语言开发的服务器端.这篇文章主要介绍了jQuery File Upload文件上传插件使用,需要的朋友可以参考下
    2016-12-12
  • jQuery实现简易的计算器

    jQuery实现简易的计算器

    这篇文章主要为大家详细介绍了jQuery实现简易的计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • javascript 全角转换实现代码

    javascript 全角转换实现代码

    当客户端用户切换输入法至全角时可能您的表单提交会有漏洞哦!不过事实上js有这功能 可以将其转换为非全角字符!
    2009-07-07
  • jQuery实现的一个tab切换效果内部还嵌有切换

    jQuery实现的一个tab切换效果内部还嵌有切换

    这篇文章主要介绍了jQuery实现的一个tab切换效果,它的特色是内部还嵌有切换,需要的朋友可以参考下
    2014-08-08
  • jQuery中获取checkbox选中项等操作及注意事项

    jQuery中获取checkbox选中项等操作及注意事项

    今天在做一个项目功能时需要显示checkbox选项来让用户进行选择,由于前端不是很熟练,所以做了一个简单的Demo,其中遇到一些小问题,特记录下来,希望能帮到遇到类似问题的同学们
    2013-11-11
  • 打造自己的jQuery插件入门教程

    打造自己的jQuery插件入门教程

    这篇文章主要介绍了打造自己的jQuery插件,简单分析了jQuery插件的原理与基本实现技巧,需要的朋友可以参考下
    2016-09-09
  • 基于jquery的无刷新分页技术

    基于jquery的无刷新分页技术

    基于jquery的无刷新分页技术,需要的朋友可以参考下。
    2011-06-06
  • jquery实现滑动特效代码

    jquery实现滑动特效代码

    这篇文章主要介绍了jquery实现滑动特效代码, .slideUp([duration][,complete])目标元素向上滑入隐藏;.slideDown([duration][,complete])目标元素向下滑出显示;.slideToggle([duration][,complete])目标元素隐藏则向下滑出显示,否则向上滑入隐藏;需要的朋友参考下
    2015-08-08
  • 40款非常有用的 jQuery 插件推荐(系列一)

    40款非常有用的 jQuery 插件推荐(系列一)

    jQuery 是一个非常优秀的 JavaScript 框架,在现在的 Web 开发项目中扮演着重要角色。jQuery 使用简单灵活,同时还有许多成熟的插件可供选择,它可以帮助你在项目中加入一些非常好的效果,让网站有更好的可用性和用户体验
    2011-12-12
  • Jquery选择器中使用变量实现动态选择例子

    Jquery选择器中使用变量实现动态选择例子

    这篇文章主要介绍了Jquery选择器中使用变量实现动态选择例子,这样做的好处我们可以动态选择一些元素,核心思想其实就是用字符串组合,需要的朋友可以参考下
    2014-07-07

最新评论