在很多时候我们需要用到图片加载功能,在网上搜资料后就想为了以后使用方便重新整理了下,结果如图:

最后一张是加载失败显示的图片,没找到合适的图片,先用他顶替。

页面引用

<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);

脚本是从网上搜索代码之后整理的,也是第一次写插件,如果有啥写的不对的,还请多多指教!

转载于:https://www.cnblogs.com/HJbk/p/6004355.html

JQuery图片加载显示loading和加载失败默认图片相关推荐

  1. img加载不出来,给个默认图片。

    忽然发现,jq里也有坑,很多东西莫名其妙的被废弃了--所以,只能用原生js来做了: $('img').each(function() {if (!this.complete || typeof thi ...

  2. html图片固定高宽比显示,科技常识:CSS背景图片固定宽高比自适应调整的实现方法...

    今天小编跟大家讲解下有关CSS背景图片固定宽高比自适应调整的实现方法 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关CSS背景图片固定宽高比自适应调整的实现方法 的相关资料,希望小伙伴们看 ...

  3. html一行显示四个图片,css一行显示之:实现多个图片一行显示的方法

    在前面的几篇文章当中,我们一起学习了在css中怎么让文字在一行显示以及文字在一行显示时超出部分自动隐藏,今天我们来一起学习一下在css中如何让多张图片在一行显示,以帮助我们在网页制作中更加的随心所欲. ...

  4. python的pillow给图片加文字_python PIL(pillow)图像处理-图片上添加文字

    from PIL import Image, ImageDraw, ImageFont def gen_img(size=None): if size is None: size = 400 #生成大 ...

  5. html给背景图片加遮罩,科技常识:css3给背景图片加颜色遮罩的方法

    今天小编跟大家讲解下有关css3给背景图片加颜色遮罩的方法 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关css3给背景图片加颜色遮罩的方法 的相关资料,希望小伙伴们看了有所帮助. 前段时 ...

  6. html实现点击图片全屏显示,用vue实现点击图片预览浏览器满屏大图

    前提 安装插件 npm install vue-directive-image-previewer -D 引入插件 import VueDirectiveImagePreviewer from 'vu ...

  7. jquery 加载显示loading图标_王者荣耀100强什么意思?loading界面左上角100强有什么含义...

    王者荣耀s20赛季更新后也就是2020年7月份以后,loading界面左上角突然出现100强.50强,有时候还有第10.第9这样的标志,这些是什么意思呢?怎么才能展示? 王者荣耀100强是什么意思? ...

  8. 小程序加载网络图片404错误,使用默认图片替换

  9. img图片加载失败默认图片

    <img :src="item.goods_pic" οnerrοr="javascript:this.src='../static/images/default. ...

最新文章

  1. Java8中一个极其强悍的新特性,很多人没用过(非常实用)
  2. TF之Windows:Windows系统下设置Tensorflow运行方式为GPU加速运行的详细攻略
  3. 求变量的数据类型,typeid,bool,C和C++的不同,new和delete,C++中的枚举,inline和可变参数模板,auto和函数模板,宽字符
  4. C++复习笔记--继承和派生
  5. 仿真模拟,需要注意这几点!
  6. jquery.cookie.js 使用方法
  7. 【算法分析与设计】快速排序
  8. Linux性能及调优指南(翻译)
  9. Android开发UI之补间动画-布局添加动画
  10. poj 1325 Machine Schedule 匈牙利二分匹配 基础
  11. Go(Golang)编程语言
  12. 白英彩 计算机组成原理,国家教委关于批转试行全国考委高等教育自学考试电气工程、电子技术、计算机及其应用三个专业专科考试计划的通知...
  13. 0501 0503 模块区别_关于博途STEP7仿真软件究竟与真实PLC有哪些区别?
  14. 金蝶K3后台SQL修改数据-科目余额表、科目表核算项目
  15. Cisco 3550交换机IOS备份(真实设备演示)
  16. EXCEL实用技巧-多条件求和、多条件计数、多条件查找
  17. 后缀表达式看完这一篇文章就理解了!
  18. SpringMVC-转换器与格式化
  19. JavaScript----与函数大战的207个回合(来日再战)
  20. python安装路径,pip安装的包以及pip的安装路径在哪?

热门文章

  1. python最终目标是什么_Python之父Guido谈Python的未来
  2. 尚硅谷springcloud第二季笔记_外行人都能看懂的 Spring Cloud,错过了血亏
  3. 产品网络推广方案之有哪些方法可以更好地优化404页面?
  4. 网络营销外包专员浅析定制网站更容易在网络营销外包中获取稳定排名
  5. 网站建设不曾止步,持续优化才有未来!
  6. mfc指示灯报警显示_消防百科 | 火灾显示盘的基本功能有哪些?
  7. 开发日记-20190814 关键词 日常
  8. DNS报文格式(RFC1035)
  9. OCWA提高组模拟赛一 Solution
  10. Linux Centos7.x 安装部署Mysql5.7几种方式的操作手册