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获取浏览器中的分辨率实现代码
Apr 23 Javascript
JavaScript语言核心数据类型和变量使用介绍
Aug 23 Javascript
javascript实现仿IE顶部的可关闭警告条
May 05 Javascript
JS+CSS简单树形菜单实现方法
Sep 12 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
Jan 03 Javascript
全屏滚动插件fullPage.js使用实例解析
Oct 21 Javascript
footer定位页面底部(代码分享)
Mar 07 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
Sep 06 Javascript
Bootstrap一款超好用的前端框架
Sep 25 Javascript
微信小程序如何调用图片接口API并居中显示
Jun 29 Javascript
JS计算斐波拉切代码实例
Sep 12 Javascript
一起写一个即插即用的Vue Loading插件实现
Oct 31 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
给多个地址发邮件的类
2006/10/09 PHP
实用函数5
2007/11/08 PHP
IP攻击升级,程序改进以对付新的攻击
2010/11/23 PHP
解析在PHP中使用全局变量的几种方法
2013/06/24 PHP
php使用pdo连接mssql server数据库实例
2014/12/25 PHP
php的扩展写法总结
2019/05/14 PHP
php写app用的框架整理
2019/09/29 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
js压缩工具 yuicompressor 使用教程
2010/03/31 Javascript
HTML5之lang属性与dir属性的详解
2013/06/19 Javascript
细说javascript函数从函数的构成开始
2013/08/29 Javascript
JS保存和删除cookie操作 判断cookie是否存在
2013/11/13 Javascript
JavaScript实现twitter puddles算法实例
2014/12/06 Javascript
Nodejs爬虫进阶教程之异步并发控制
2016/02/15 NodeJs
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
2016/06/20 Javascript
AngularJS ng-template寄宿方式用法分析
2016/11/07 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
2018/03/23 jQuery
js运算符的一些特殊用法
2018/07/29 Javascript
React实现全局组件的Toast轻提示效果
2018/09/21 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
2019/09/23 Javascript
基于vue hash模式微信分享#号的解决
2020/09/07 Javascript
Python语言实现百度语音识别API的使用实例
2017/12/13 Python
利用python修改json文件的value方法
2018/12/31 Python
Python实现的列表排序、反转操作示例
2019/03/13 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
Python发送邮件实现基础解析
2020/08/14 Python
施华洛世奇加拿大官网:SWAROVSKI加拿大
2018/06/03 全球购物
西班牙购买隐形眼镜、眼镜和太阳镜网站:Lentiamo.es
2020/06/11 全球购物
春节联欢会主持词
2014/03/24 职场文书
函授本科个人自我鉴定
2014/03/25 职场文书
优秀教师先进个人事迹材料
2014/08/31 职场文书
公证委托书格式
2014/09/13 职场文书
2014年人事工作总结范文
2014/11/19 职场文书
中班下学期个人工作总结
2015/02/12 职场文书
解决Python字典查找报Keyerror的问题
2021/05/26 Python
前端传参数进行Mybatis调用mysql存储过程执行返回值详解
2022/08/14 MySQL