IE瀏覽器中圖片onload事件無(wú)效的解決方法
故事模式實(shí)現(xiàn)是只加載當(dāng)前瀏覽的照片和它下面的兩張照片,加載照片的時(shí)候才會(huì)加載和渲染評(píng)論區(qū),圖片沒(méi)有加載前會(huì)用一個(gè)一象素的圖片占位,并用一個(gè)loading類將顯示出一個(gè)loading背景圖,判斷在可視區(qū)的時(shí)候替換成真正的圖片,圖片加載成功后刪除loading類。
問(wèn)題出在最后面,測(cè)試的時(shí)候發(fā)現(xiàn)在IE下loading類無(wú)法刪除,當(dāng)時(shí)代碼如下:
img.src = _src;
img.src = _src;
img.onload = function(){
_con.delClass('loading');
}
網(wǎng)上找了一番,onload和定義src的語(yǔ)句應(yīng)該換一下順序,IE從緩存中取圖片,onload根本不觸發(fā),opera也有這個(gè)毛病,正確代碼修改如下
img.onload = function(){
_con.delClass('loading');
};
img.src = _src;
立即就正常了
結(jié)論:應(yīng)該把onload寫到src前面,先告訴瀏覽器圖片加載完要怎么處理,再讓它去加載圖片。 所以,不是IE瀏覽器不會(huì)觸發(fā)onload事件,而是因?yàn)榧虞d緩沖區(qū)的速度太快,在沒(méi)有告訴它加載完要怎么辦時(shí),它已經(jīng)加載完了。反過(guò)來(lái)說(shuō),firefox明顯更智能一些,加入onload事件后,firefox瀏覽器會(huì)檢測(cè)緩沖區(qū)是否已經(jīng)有此圖片,有的話直接就觸發(fā)此事件!
相關(guān)文章
js實(shí)現(xiàn)顯示當(dāng)前狀態(tài)的導(dǎo)航效果代碼
這篇文章主要介紹了js實(shí)現(xiàn)顯示當(dāng)前狀態(tài)的導(dǎo)航效果代碼,涉及javascript通過(guò)鼠標(biāo)點(diǎn)擊事件動(dòng)態(tài)改變頁(yè)面元素屬性的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-08-08js+SVG實(shí)現(xiàn)動(dòng)態(tài)時(shí)鐘效果
這篇文章主要為大家詳細(xì)介紹了js+SVG實(shí)現(xiàn)動(dòng)態(tài)時(shí)鐘效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07js高精度計(jì)算decimal.js庫(kù)用法demo
這篇文章主要給大家介紹了關(guān)于js高精度計(jì)算decimal.js庫(kù)用法的相關(guān)資料,decimal.js是使用的二進(jìn)制來(lái)計(jì)算的,所以能解決js的精度問(wèn)題,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11JavaScript實(shí)現(xiàn)環(huán)繞鼠標(biāo)旋轉(zhuǎn)效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)環(huán)繞鼠標(biāo)旋轉(zhuǎn)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01JS驗(yàn)證IP,子網(wǎng)掩碼,網(wǎng)關(guān)和MAC的方法
這篇文章主要介紹了JS驗(yàn)證IP,子網(wǎng)掩碼,網(wǎng)關(guān)和MAC的方法,涉及javascript正則表達(dá)式的相關(guān)使用技巧,需要的朋友可以參考下2015-07-07javascript中導(dǎo)出與導(dǎo)入實(shí)現(xiàn)模塊化管理教程
這篇文章主要給大家介紹了關(guān)于javascript中導(dǎo)出與導(dǎo)入實(shí)現(xiàn)模塊化管理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12