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 相关文章推荐
Jquery仿淘宝京东多条件筛选可自行结合ajax加载示例
Aug 28 Javascript
document.getElementById获取控件对象为空的解决方法
Nov 20 Javascript
jQuery判断对象是否存在的方法
Feb 05 Javascript
javascript下拉框选项单击事件的例子分享
Mar 04 Javascript
js实现简单的联动菜单效果
Aug 19 Javascript
jQuery动态添加与删除tr行实例代码
Oct 18 Javascript
AngularJS中一般函数参数传递用法分析
Nov 22 Javascript
详解angularjs获取元素以及angular.element()用法
Jul 25 Javascript
解决js相同的正则多次调用test()返回的值却不同的问题
Oct 10 Javascript
p5.js实现简单货车运动动画
Oct 23 Javascript
基于JavaScript实现年月日三级联动
Jun 22 Javascript
JS 基本概念详细介绍
Oct 16 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在线打包程序源码
2008/07/27 PHP
JavaScript入门教程(9) Document文档对象
2009/01/31 Javascript
用Javascript 和 CSS 实现脚注(Footnote)效果
2009/09/09 Javascript
Webkit的跨域安全问题说明
2011/09/13 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
JS实现QQ图片一闪一闪的效果小例子
2013/07/31 Javascript
JS中for循序中延迟加载动态效果的具体实现
2013/08/18 Javascript
JS显示表格内指定行html代码的方法
2015/03/31 Javascript
JS/Jquery判断对象为空的方法
2015/06/11 Javascript
jQuery mobile 移动web(4)
2015/12/20 Javascript
JS平滑无缝滚动效果的实现代码
2016/05/06 Javascript
AngularJS 过滤与排序详解及实例代码
2016/09/14 Javascript
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
2018/01/18 jQuery
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
2018/05/09 jQuery
微信打开网址添加在浏览器中打开提示的办法
2019/05/20 Javascript
vue 使用外部JS与调用原生API操作示例
2019/12/02 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
2020/02/19 Javascript
Python中解析JSON并同时进行自定义编码处理实例
2015/02/08 Python
复习Python中的字符串知识点
2015/04/14 Python
python脚本设置超时机制系统时间的方法
2016/02/21 Python
pycharm 实现本地写代码,服务器运行的操作
2020/06/08 Python
html5声频audio和视频video等新特性详细说明
2012/12/26 HTML / CSS
推荐10个HTML5响应式框架
2016/02/25 HTML / CSS
软件工程师面试题
2012/06/25 面试题
管理学专业个人求职信范文
2013/09/21 职场文书
人力资源经理的岗位职责
2014/03/02 职场文书
文案策划求职信
2014/04/14 职场文书
百日安全活动总结
2014/05/04 职场文书
学生会干部自我鉴定2014
2014/09/18 职场文书
企业与个人合作经营协议书
2014/11/01 职场文书
自主招生自荐信范文
2015/03/04 职场文书
来探秘“德国中小企业”的成功之道
2019/07/26 职场文书
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
2021/06/05 Python
yyds什么意思?90后已经听不懂00后讲话了……
2022/02/03 杂记
解决Redis启动警告问题
2022/02/24 Redis
《原神》新角色演示“神里绫人:林隐泓洄” 宠妹狂魔
2022/04/03 其他游戏