jQuery图片加载显示loading效果


Posted in Javascript onNovember 04, 2016

在很多时候我们需要用到图片加载功能,在网上搜资料后就想为了以后使用方便重新整理了下,结果如图:

jQuery图片加载显示loading效果

最后一张是加载失败显示的图片,没找到合适的图片,先用他顶替。

jQuery图片加载显示loading效果

页面引用

<div class="container">
 <div class="row block" id="img-list">
 <div class="col-md-3">
  <img src="/Assets/OnePiece/1.jpg" class="img-thumbnail">
 </div>
 <div class="col-md-3">
  <img src="/Assets/OnePiece/2.jpg" class="img-thumbnail">
 </div>
 <div class="col-md-3">
  <img src="/Assets/OnePiece/3.jpg" class="img-thumbnail">
 </div>
 <div class="col-md-3">
  <img src="/Assets/OnePiece/4.jpg" class="img-thumbnail">
 </div>
 <div class="col-md-3">
  <img src="/Assets/OnePiece/5.jpg" class="img-thumbnail">
 </div>
 <div class="col-md-3">
  <img src="/Assets/OnePiece/6.jpeg" class="img-thumbnail">
 </div>
 <div class="col-md-3">
  <img src="/Assets/OnePiece/7.jpg" class="img-thumbnail">
 </div>
 <div class="col-md-3">
  <img src="/Assets/OnePiece/8.jpg" class="img-thumbnail">
 </div>
 </div>
</div>
<script src="~/Scripts/ImgLoading/ImgLoading.js"></script>
<script>
 $("#img-list").ImgLoading({
 errorimg: "/Scripts/ImgLoading/images/noimage.png",
 loadimg: "/Scripts/ImgLoading/images/load.gif",
 timeout: 800
 });
</script>

下面是插件脚本,为了突出加载的效果就加上了延迟时间。

;(function ($) {
 $.fn.extend({
 ImgLoading: function (options) {
 var defaults = {
 errorimg: "http://www.oyly.net/Images/default/Journey/journeydetail.png",
 loadimg: "http://www1.ytedu.cn/cnet/dynamic/presentation/net_23/images/loading.gif",
 Node: $(this).find("img"),
 timeout: 1000
 };
 var options = $.extend(defaults, options);
 var Browser = new Object();
 var plus = {
 BrowserVerify:function(){
  Browser.userAgent = window.navigator.userAgent.toLowerCase();
  Browser.ie = /msie/.test(Browser.userAgent);
  Browser.Moz = /gecko/.test(Browser.userAgent);
 },
 EachImg: function () {
  defaults.Node.each(function (i) {
  var img = defaults.Node.eq(i);
  plus.LoadEnd(Browser, img.attr("imgurl"), i, plus.LoadImg);
  })
 },
 LoadState:function(){
  defaults.Node.each(function (i) {
  var img = defaults.Node.eq(i);
  var url = img.attr("src");
  img.attr("imgurl", url);
  img.attr("src",defaults.loadimg);
  })
 },
 LoadEnd: function (Browser, url, imgindex, callback) {
  var val = url;
  var img = new Image();
  if (Browser.ie) {
  img.onreadystatechange = function () {
  if (img.readyState == "complete" || img.readyState == "loaded") {
  callback(img, imgindex);
  }
  }
  } else if (Browser.Moz) {
  img.onload = function () {
  if (img.complete == true) {
  callback(img, imgindex);
  }
  }
  }
  img.onerror = function () { img.src = defaults.errorimg }
  img.src = val;
 },
 LoadImg: function (obj, imgindex) {
  setTimeout(function () {
  defaults.Node.eq(imgindex).attr("src", obj.src);
  }, defaults.timeout);
 }
 }
 plus.LoadState();
 plus.BrowserVerify();
 plus.EachImg();
 }
 }); 
})(jQuery);

脚本是从网上搜索代码之后整理的,也是第一次写插件,如果有啥写的不对的,还请多多指教!

本文已被整理到了《jquery图片加载方法汇总》 ,欢迎大家学习阅读。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
Sep 27 Javascript
jquery 事件执行检测代码
Dec 09 Javascript
腾讯的ip接口 方便获取当前用户的ip地理位置
Nov 25 Javascript
基于jQuery的简单的列表导航菜单
Mar 02 Javascript
jquery自动切换tabs选项卡的具体实现
Dec 24 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
Sep 02 Javascript
javascript查询字符串参数的方法
Jan 28 Javascript
javascript求日期差的方法
Mar 02 Javascript
ES6记录异步函数的执行时间详解
Aug 31 Javascript
bootstrap table使用入门基本用法
May 24 Javascript
vue 内置过滤器的使用总结(附加自定义过滤器)
Dec 11 Javascript
详解JavaScript作用域、作用域链和闭包的用法
Sep 03 Javascript
JavaScript 深层克隆对象详解及实例
Nov 03 #Javascript
jQuery.ajax实现根据不同的Content-Type做出不同的响应
Nov 03 #Javascript
简单学习vue指令directive
Nov 03 #Javascript
Vue.js常用指令汇总(v-if、v-for等)
Nov 03 #Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
Nov 03 #Javascript
原生javascript实现的ajax异步封装功能示例
Nov 03 #Javascript
探索Vue.js component内容实现
Nov 03 #Javascript
You might like
使用PHP静态变量当缓存的方法
2013/11/13 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
2014/06/26 PHP
php自定义加密与解密程序实例
2014/12/31 PHP
PHP中的流(streams)浅析
2015/07/02 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
2015/09/30 PHP
在WordPress中使用wp-cron插件来设置定时任务
2015/12/10 PHP
cnblogs csdn 代码运行框实现代码
2009/11/02 Javascript
表单元素与非表单元素刷新区别详细解析
2013/11/06 Javascript
用于deeplink的js方法(判断手机是否安装app)
2014/04/02 Javascript
JS响应鼠标点击实现两个滑块区间拖动效果
2015/10/26 Javascript
JavaScript函数节流概念与用法实例详解
2016/06/20 Javascript
jquery实现界面无刷新加载登陆注册
2016/07/30 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
2017/05/08 Javascript
nodejs 图解express+supervisor+ejs的用法(推荐)
2017/09/08 NodeJs
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
安装Node.js并启动本地服务的操作教程
2018/05/12 Javascript
vue+Element-ui实现分页效果实例代码详解
2018/12/10 Javascript
[02:52]DOTA2新手基础教程 米波
2014/01/21 DOTA
[14:56]教你分分钟做大人:巫医
2014/10/30 DOTA
Python3基础之基本数据类型概述
2014/08/13 Python
python魔法方法-属性访问控制详解
2016/07/25 Python
python中字符串的操作方法大全
2018/06/03 Python
python实现接口并发测试脚本
2019/06/25 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
2019/08/26 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
2020/06/02 Python
Django Admin 上传文件到七牛云的示例代码
2020/06/20 Python
详解python对象之间的交互
2020/09/29 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
Canvas 文本填充线性渐变的使用详解
2020/06/22 HTML / CSS
假日旅行社实习自我鉴定
2013/09/24 职场文书
专业实习自我鉴定
2013/10/29 职场文书
小学语文复习计划
2015/01/19 职场文书
五四青年节活动总结
2015/02/10 职场文书
Python编写冷笑话生成器
2022/04/20 Python
mysql数据库如何转移到oracle
2022/12/24 MySQL