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 相关文章推荐
提高代码性能技巧谈—以创建千行表格为例
Jul 01 Javascript
P3P Header解决Cookie跨域的问题
Mar 12 Javascript
封装html的select标签的js操作实例
Jul 02 Javascript
JS实现清除指定cookies的方法
Sep 20 Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
Oct 28 Javascript
基于jQuery实现返回顶部实例代码
Jan 01 Javascript
JS原型对象的创建方法详解
Jun 16 Javascript
原生JS简单实现ajax的方法示例
Nov 29 Javascript
webpack 1.x升级过程中的踩坑总结大全
Aug 09 Javascript
使用Vue构建可重用的分页组件
Mar 26 Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
Feb 15 jQuery
微信小程序自定义联系人弹窗
May 26 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管理依赖(dependency)关系工具 Composer的自动加载(autoload)
2014/08/18 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
2021/02/26 PHP
可以把编码转换成 gb2312编码lib.UTF8toGB2312.js
2007/08/21 Javascript
JS测试显示屏分辨率以及屏幕尺寸的方法
2013/11/22 Javascript
javascript修改IMG标签的src问题
2014/03/28 Javascript
javascript实现des解密加密全过程
2014/04/03 Javascript
Jquery解析Json格式数据过程代码
2014/10/17 Javascript
JS获取图片lowsrc属性的方法
2015/04/01 Javascript
微信小程序 Storage API实例详解
2016/10/02 Javascript
jQuery ajax MD5实现用户注册即时验证功能
2016/10/11 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
2018/05/16 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
vue+iview实现文件上传
2020/11/17 Vue.js
python 根据pid杀死相应进程的方法
2017/01/16 Python
python机器学习理论与实战(五)支持向量机
2018/01/19 Python
python 3.7.0 下pillow安装方法
2018/08/27 Python
Python适配器模式代码实现解析
2019/08/02 Python
Python实现队列的方法示例小结【数组,链表】
2020/02/22 Python
Python数组拼接np.concatenate实现过程
2020/04/18 Python
美国购买体育、音乐会和剧院门票网站:SelectATicket
2019/09/08 全球购物
写出一个方法实现冒泡排序
2016/07/08 面试题
一套.net面试题及答案
2016/11/02 面试题
见习期自我鉴定
2013/11/07 职场文书
文秘专业大学生求职信
2013/11/10 职场文书
电话销售经理岗位职责
2013/12/07 职场文书
文体活动总结范文
2014/05/05 职场文书
团队会宣传标语
2014/10/09 职场文书
受资助学生感谢信
2015/01/21 职场文书
神龙架导游词
2015/02/11 职场文书
运动会三级跳加油稿
2015/07/21 职场文书
家长会后的感想
2015/08/11 职场文书
MySQL 逻辑备份与恢复测试的相关总结
2021/05/14 MySQL
python使用glob检索文件的操作
2021/05/20 Python
Go语言基础知识点介绍
2021/07/04 Golang
MySQL表字段数量限制及行大小限制详情
2022/07/23 MySQL