2016-06-21 65 views
0

只是好奇,想知道爲什麼這行代碼需要太多的CPU(如看到控制檯分析器)改變SRC使用內嵌onload圖像佔用太多的CPU使用率

<img style="display:none;" src="media/logo.png" 
    onload="this.style.display='block';this.src='media/dynamic_logo.png'" /> 

當我刪除或者onload事件或src屬性,它不佔用太多的CPU。無法理解那裏發生了什麼。任何人都可以突出顯示

回答

0

更改圖像src屬性使瀏覽器重新加載圖像數據,難怪新的src是否與原始相同。

在你的例子中,這產生了一種循環。

看到這個小提琴瞭解的過程(看看你的瀏覽器JS控制檯):

https://jsfiddle.net/magikarp/d72ndk1e/

如果從onload屬性去掉this.src [...],控制檯會提示只有一個「onload事件被稱爲」。

+0

謝謝。但小提琴頁面是空白的。我會有興趣看看現象 –

+0

嗨,對不起,因爲它可能是有用的ils更新的小提琴:https://jsfiddle.net/magikarp/d72ndk1e/2/ – rvictorino

+0

謝謝,它的清晰。 –