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 相关文章推荐
javaScript对象和属性的创建方法
Jan 15 Javascript
javascript最常用与实用的创建类的代码
Aug 12 Javascript
基于JQuery的访问WebService的代码(可访问Java[Xfire])
Nov 19 Javascript
Jquery中显示隐藏的实现代码分析
Jul 26 Javascript
javascript实现获取cookie过期时间的变通方法
Aug 14 Javascript
使用AngularJS实现表单向导的方法
Jun 19 Javascript
JavaScript实现网站访问次数统计代码
Aug 12 Javascript
JS实现汉字与Unicode码相互转换的方法详解
Apr 28 Javascript
vue-router 路由基础的详解
Oct 17 Javascript
QRCode.js二维码生成并能长按识别
Oct 16 Javascript
JQuery属性操作与循环用法示例
May 15 jQuery
vue实现点击按钮切换背景颜色的示例代码
Jun 23 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
模板引擎Smarty深入浅出介绍
2006/12/06 PHP
详解PHP中的null合并运算符
2015/12/30 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
BOOM vs RR BO3 第一场2.13
2021/03/10 DOTA
有趣的javascript数组定义方法
2010/09/10 Javascript
JavaScript高级程序设计 读书笔记之八 Function类及闭包
2012/02/27 Javascript
基于jquery的固定表头和列头的代码
2012/05/03 Javascript
js修改原型的属性使用介绍
2014/01/26 Javascript
JS创建自定义表格具体实现
2014/02/11 Javascript
jQuery中:contains选择器用法实例
2014/12/30 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
2016/06/07 Javascript
点击按钮出现60秒倒计时的简单js代码(推荐)
2016/06/07 Javascript
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
2016/12/28 Javascript
JavaScript实现短信倒计时60s
2017/10/09 Javascript
JavaScript轮播停留效果的实现思路
2018/05/24 Javascript
微信小程序调用wx.getImageInfo遇到的坑解决
2020/05/31 Javascript
JS中队列和双端队列实现及应用详解
2020/09/29 Javascript
python实现根据图标提取分类应用程序实例
2014/09/28 Python
Django imgareaselect手动剪切头像实现方法
2015/05/26 Python
Python数据操作方法封装类实例
2017/06/23 Python
python3爬取淘宝信息代码分析
2018/02/10 Python
python清除函数占用的内存方法
2018/06/25 Python
解决tensorflow模型参数保存和加载的问题
2018/07/26 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
2020/03/25 Python
浅谈django 模型类使用save()方法的好处与注意事项
2020/03/28 Python
python中round函数如何使用
2020/06/19 Python
HTML+CSS3+JS 实现的下拉菜单
2020/11/25 HTML / CSS
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
深入理解HTML5定时器requestAnimationFrame的使用
2018/12/12 HTML / CSS
摩顿布朗英国官方网上商店:奢华沐浴、身体和头发护理
2016/10/29 全球购物
Allen Edmonds官方网站:一家美国优质男士鞋类及配饰制造商
2019/03/12 全球购物
测控技术与仪器个人求职信范文
2013/12/30 职场文书
颂军魂爱军营演讲稿
2014/09/13 职场文书
销售内勤岗位职责
2015/02/10 职场文书
python中pymysql包操作数据库方法
2022/04/19 Python
springboot为异步任务规划自定义线程池的实现
2022/06/14 Java/Android