data/attachment/common/编程

编程

    今日:0| 主题:21
收藏本版
发表新帖

[php语言] 666下载网【金易德网】利用onerro判断图片不存在时隐藏或者显示默认图片教程

[复制链接] [提交至百度]
admin 发表于 2018-6-9 01:17:53
1314 0

马上注册,下载资源,享用更多功能,让你轻松玩转网站

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在页面显示的时候,万一图片被移动了位置或者丢失的话,将会在页面显示一个带X的图片,很是影响用户的体验,非常的不规范,同时页面上也会抛出异常。
其实,可以这样处理:当图片不存在的时候,会触发onerror事件,我们可以在该事件中做一下补救的工作,比如:

1、让这个图片元素隐藏代码如下:


  1. <img src="图片的地址" onerror="this.style.display='none'"/>  
复制代码
2、用项目上默认的图片替换代码如下:
  1. <img src="图片的地址"  onerror="this.src='默认图片的url地址'"/>  
复制代码
注意:如果使用不当,在IE内核的浏览器下会造成死循环。比如:当【默认图片的url地址】也加载不成功(比如网速比较慢的时候)或不存在的话,就会反复的加载,最后造成堆栈溢出错误。
因此, 需要用下面两种方法解决:
a、更改 onerror 代码为其它处理方式或者确保 onerror 中的默认图片足够小,并且存在。
b、控制onerror事件只触发一次,需要增加这句话:this.onerror=null; 增加后代码如下:

  1. <img src="图片的地址"  onerror="this.src='默认图片的url地址;this.onerror=null'"/>  
复制代码


3、以上方法适合<img>标签较少的情况,如果要处理的<img>标签比较多的话,可以做一个全局性的设置:可以写一个js方法,给每个标签添加error事件,当任何地方的图片不存在时都可以进行统一的处理。js代码如下:
  1. <script type="text/javascript">
  2. <!–
  3. function nofind(){
  4. var img=event.srcElement;
  5. img.src="默认图片地址";
  6. img.onerror=null; 控制不要一直跳动
  7. }
  8. //–>
  9. </script>
复制代码
引用js代码如下:
  1. <img src="图片1地址" onerror="nofind();" />
  2. <img src=图片2地址" onerror="nofind();" />
复制代码
就一张图片引用就是
  1. <img src=图片的地址" onerror="nofind();" />
复制代码





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

推荐阅读

平台简介

六六下载网(666现在.cn),中国最大的电商设计师交流平台。最活跃的电商设计师学习交流分享社区。集原创作品+灵感图库+经验教程+设计专访+设计培训+社群活动为一体,全方位服务电商设计师。成立3年来,聚集20万电商设计师,定期线下设计沙龙,覆盖北京、上海、广州、杭州等城市计

QQ|Archiver|手机版|小黑屋|666下载网 ( 粤ICP备16097146号-5 )|网站地图  

Powered by 金易德.cn! X3.4  © 2014-2018 深圳市龙岗区金易徳贸易商行   增值电信业务经营许可证:粤B2-20140196

返回顶部 返回列表