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 相关文章推荐
firefo xml 读写实现js代码
Jun 11 Javascript
myEvent.js javascript跨浏览器事件框架
Oct 24 Javascript
在JavaScript中实现类的方式探讨
Aug 28 Javascript
JavaScript中的apply和call函数详解
Jul 20 Javascript
javascript获取文档坐标和视口坐标
May 26 Javascript
轻松掌握JavaScript享元模式
Aug 27 Javascript
微信小程序 地图map详解及简单实例
Jan 10 Javascript
vue模板语法-插值详解
Mar 06 Javascript
jQuery正则验证注册页面经典实例
Jun 10 jQuery
详解javascript appendChild()的完整功能
Aug 18 Javascript
150行代码带你实现微信小程序中的数据侦听
May 17 Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
Sep 21 jQuery
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
30个php操作redis常用方法代码例子
2014/07/05 PHP
php判断GIF图片是否为动画的方法
2020/09/04 PHP
PHP在线打包下载功能示例
2016/10/15 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
JavaScript 数组运用实现代码
2010/04/13 Javascript
javascript 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)
2010/05/18 Javascript
firefox火狐浏览器与与ie兼容的2个问题总结
2010/07/20 Javascript
JS自动适应的图片弹窗实例
2013/06/29 Javascript
jquery实现图片左右切换的方法
2015/05/07 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
2017/04/11 Javascript
Angular2搜索和重置按钮过场动画
2017/05/24 Javascript
ES6中箭头函数的定义与调用方式详解
2017/06/02 Javascript
JS计算输出100元钱买100只鸡问题的解决方法
2018/01/04 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
python实现数组插入新元素的方法
2015/05/22 Python
Python使用matplotlib简单绘图示例
2018/02/01 Python
python 保存float类型的小数的位数方法
2018/10/17 Python
python微元法计算函数曲线长度的方法
2018/11/08 Python
Django管理员账号和密码忘记的完美解决方法
2018/12/06 Python
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
2019/06/27 Python
python中break、continue 、exit() 、pass终止循环的区别详解
2019/07/08 Python
python实现各种插值法(数值分析)
2019/07/30 Python
html5在移动端的屏幕适应问题示例探讨
2014/06/15 HTML / CSS
Marriott国际:万豪国际酒店查询预订
2017/09/25 全球购物
Kate Spade澳大利亚官方网站:美国设计师手袋品牌
2019/09/10 全球购物
Linux面试经常问的文件系统操作命令
2016/10/04 面试题
企业管理专业个人求职信范文
2013/09/24 职场文书
护理毕业生自荐信范文
2013/12/22 职场文书
小学生家长评语集锦
2014/01/30 职场文书
函授大学生自我鉴定
2014/02/05 职场文书
班长自荐书范文
2014/02/11 职场文书
幼儿园父亲节活动方案
2014/03/11 职场文书
大课间体育活动方案
2014/03/12 职场文书
2015年学校减负工作总结
2015/05/19 职场文书
Python 绘制多因子柱状图
2022/05/11 Python