也就是说如果这个图片没有加载成功了会怎么办,下面为大大家分享下如何处理裂图,感兴趣的朋友可以参考下哈,希望对你有所帮助
今天我为大家讲解一个页面开发过程中的一个小技巧:如何处理裂图 也就是说如果这个图片没有加载成功了会怎么办? 第一步:HTML页面里: <!DOCTYPE html> <html> <head> <title>gbin1</title> <meta charset=utf-8 /> <script src="data/attachment/portal/202004/11/20200411head> BR<body> BR<img src=broken.jpg"/> </body> </html> 运行这个页面大家会看到一个坏掉的图。 第二部:是一个JavaScript,它的功能是:如果图片坏掉了,就弹出一个出错提示: $(function(){ $('img').error(function(){ alert('error'); }); }); 运行一下,大家看到了吗? 第三部:接下来,我们想要提高界面的友好效果,我们可以调用attr用一张默认图片替换掉这张裂图: $(function(){ $('img').error(function(){ //alert('error'); $(this).attr('src','data/attachment/portal/202004/11/20200411logohover.png'); }); }); 大家看到极客标签的logo图标没?这样就可以实现对裂图的处理了。 补充几句:其实error在jquery1.8以前是提倡使用的,1.9之后不太提倡了,但是仍然可以使用,个人觉得还挺方便的。 大家也可以换用下面这个方法:(error换成了on,后面加一个参数) $(function(){ $('img').on('error',function(){ alert('error'); $(this).attr('src','data/attachment/portal/202004/11/20200411logohover.png'); }); }); 其实前一个error方法,是on方法的快捷方式 对了,如果你在本地测试error这个方法的话,需要启动服务器,因为error方法需要检查资源是否可用。比如这个test.html,需要在启动服务器后,在浏览器中输入http://localhost:8080/test.html 才可以看到效果。 希望能对大家有帮助,3Q! |