在項目開發中遇到這樣的功能,要求實現列表頁動態加載功能,在實現過程中遇到一些小小插曲,下面小編給大家詳細說明下解決方法:
首次加載時圖片可以獲取成功,再次加載失敗,通過chrome調試發現img 的 data-lazyload 屬性沒改變
調試的時候發現了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; }問題找到了,那么就在再次加載數據時,清除該屬性就ok了
document.body.removeAttribute('data-imagelazyload'); mui(document).imageLazyload({ placeholder: '../../images/img_head3.png' });以上所述是小編給大家介紹的MUI 解決動態列表頁圖片懶加載再次加載不成功的bug問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!
新聞熱點
疑難解答