MUI 解決動態(tài)列表頁圖片懶加載再次加載不成功的bug問題
在項目開發(fā)中遇到這樣的功能,要求實現(xiàn)列表頁動態(tài)加載功能,在實現(xiàn)過程中遇到一些小小插曲,下面小編給大家詳細(xì)說明下解決方法:
首次加載時圖片可以獲取成功,再次加載失敗,通過chrome調(diào)試發(fā)現(xiàn)img 的 data-lazyload 屬性沒改變
調(diào)試的時候發(fā)現(xiàn)了bug
$.fn.imageLazyload = function(options) { var lazyloadApis = []; this.each(function() { var self = this; var lazyloadApi = null; if (self === document || self === window) { self = document.body; } //對,bug就在這,判定時如果body已有該屬性,就不在加載了,整體的代碼沒看明白,注釋太少了啊 var id = self.getAttribute('data-imageLazyload'); if (!id) { id = ++$.uuid; $.data[id] = lazyloadApi = new ImageLazyload(self, options); self.setAttribute('data-imageLazyload', id); } else { lazyloadApi = $.data[id]; } lazyloadApis.push(lazyloadApi); }); return lazyloadApis.length === 1 ? lazyloadApis[0] : lazyloadApis; }
問題找到了,那么就在再次加載數(shù)據(jù)時,清除該屬性就ok了
document.body.removeAttribute('data-imagelazyload'); mui(document).imageLazyload({ placeholder: '../../images/img_head3.png' });
以上所述是小編給大家介紹的MUI 解決動態(tài)列表頁圖片懶加載再次加載不成功的bug問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
JS通過ajax動態(tài)讀取xml文件內(nèi)容的方法
這篇文章主要介紹了JS通過ajax動態(tài)讀取xml文件內(nèi)容的方法,實例分析了Ajax操作XML文件的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03JavaScript優(yōu)化以及前段開發(fā)小技巧
隨著前端技術(shù)的發(fā)展,前端業(yè)務(wù)越來越繁重,這大大增加了JS代碼量。因此,要提高Web的性能,我們不僅需要關(guān)注頁面加載的時間,還要注重在頁面上操作的響應(yīng)速度。那么,接下來我們討論幾種能夠提高JavaScript效率的方法。2017-02-02JavaScript設(shè)置獲取和設(shè)置屬性的方法
這篇文章主要介紹了JavaScript設(shè)置獲取和設(shè)置屬性的方法,學(xué)會使用getAttribute、setAttribute的用法,需要的朋友可以參考下2015-03-03關(guān)于var在for循環(huán)遇到的問題解決
這篇文章主要給大家介紹了關(guān)于var在for循環(huán)遇到的問題的幾種解決方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-07-07JavaScript中數(shù)組嵌套對象排序方法的示例詳解
在?JavaScript?中,可以使用?sort()?方法對包含嵌套對象的數(shù)組進(jìn)行排序,本文將通過三個簡單的示例為大家進(jìn)行簡單的介紹,需要的可以參考下2024-03-03javascript實現(xiàn)相同事件名稱,不同命名空間的調(diào)用方法
這篇文章主要介紹了javascript實現(xiàn)相同事件名稱,不同命名空間的調(diào)用方法,涉及javascript命名空間及事件調(diào)用的技巧,需要的朋友可以參考下2015-06-06javascript實現(xiàn)根據(jù)身份證號讀取相關(guān)信息
這篇文章主要介紹了javascript實現(xiàn)根據(jù)身份證號讀取相關(guān)信息,需要的朋友可以參考下2014-12-12