有什么办法可以解决jq修改图片src后图片资源加载两次的问题?

html代码:

<img src="a.jpg" class="banner">

jq代码:

$(document).ready(function () {
    $(".banner").attr("src","2.jpg");
})

jq代码生效,成功地把图片a.jpg改成b.jpg。但现在有个问题是请求资源的时候会把a.jpg和b.jpg一并加载,当图片资源比较多要替换的时候,会影响性能。有没有什么办法,在img还未加载完成之前,通过jq把src的路径修改却不加载原来的a.jpg这个图片呢?


莫回无
浏览 973回答 1
1回答

aluckdog

虽然没怎么看懂你的问题,但是我想说解决此类问题通常采用的方式是js的代理模式,参考代码如下var&nbsp;myImage&nbsp;=&nbsp;(function(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;imgNode&nbsp;=document.getElementByClassName('banner')[0];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;function(src){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;imgNode.src&nbsp;=&nbsp;src;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} })();var&nbsp;ProxyImage&nbsp;=&nbsp;(function(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;img&nbsp;=&nbsp;new&nbsp;Image(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;img.onload&nbsp;=&nbsp;function(){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myImage(this.src); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;function(src)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myImage("a.jpg"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;img.src&nbsp;=&nbsp;src; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;})(); ProxyImage("b.jpg");原谅我原生风,你可以稍微改一下
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript