的JS:系列不同的圖像的報告相同的寬度
function imgLoader(imgObj)
{
alert(imgObj.id + " : " + imgObj.src + " : " +imgObj.width);
}
的HTML:
<img id="img_1" src="image_1.png" onload="imgLoader(this)" />
<img id="img_2" src="image_2.png" onload="imgLoader(this)" />
<img id="img_3" src="image_3.png" onload="imgLoader(this)" />
<img id="img_4" src="image_4.png" onload="imgLoader(this)" />
<img id="img_5" src="image_5.png" onload="imgLoader(this)" />
相關的CSS(CSS評論/問題的更新BC)
img {position:relative; height: 46px; display: inline-block; cursor:pointer; margin: 0px 10px 0px 0px; padding: 0px 10px 0px 10px;}
注有沒有其他的CSS。 問題:這只是週五和接近假期,我錯過了一些明顯的東西?來自onload的警報都會報告相同的值,但是與懸停相關的功能 - 準確報告寬度。
但是,當它在初始圖像加載時運行時,我的警報框看起來像(這實際上是一個虛構的順序,因爲圖像加載順序尚未控制,並取決於瀏覽器 - 但是,說明我的問題不夠好):
「img_1:image_1.png:125」
「IMG_2:image_2.png:125」
「img_3:image_3.png:125」
「img_4:image_4.png:125」
「img_5:image_5.png:125」
這是難以置信的傻因爲圖像變化從15像素到400像素的寬度。是什麼賦予了?
jQuery是一個posibillity? – yckart
它不應該是必要的。最終,jquery被引入使用延遲和承諾使用,但後來纔出現。做了一些代碼提升,我碰到了這個有趣的情況。我寧願將jquery從這裏除去,因爲jquery依賴於與vanilla JS相同的對象和操作。 –
CSS設置爲「125px」?試試[這個演示](http://jsfiddle.net/VMVQS/),然後取消註釋CSS並查看其差異。 *(打開您的控制檯。)* –