国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

angular實(shí)現(xiàn)圖片懶加載實(shí)例代碼

2019-11-19 16:23:47
字體:
供稿:網(wǎng)友

這兩天一直糾結(jié)angular的圖片懶加載插件中無法自拔。在使用過程深深感到j(luò)s學(xué)藝不精的痛苦,想修改源碼又不會(huì)修改,只能盡力壓榨如何使用插件上。這里主要談?wù)勗谑褂貌寮倪^程遇到的一些問題。

 一)我使用的是angular-imglazyload這個(gè)插件。【https://www.npmjs.com/package/angular-imglazyload】主要是這個(gè)插件小不依賴jquery庫,然后下載源碼運(yùn)行成功后,我就整合到自己項(xiàng)目上運(yùn)行,結(jié)果發(fā)現(xiàn)竟然只有前2張加載了,滾動(dòng)了都沒有反映。下面是我的代碼部分:

<div ng-repeat="Digest in Digest_cont track by $index">      <img src="" data-ui-lazyload="{{Digest.val}}" onerror="this.src='img/default@2x_300X300.png'" ng-if="Digest.type=='img'" alt="">      <div ng-if="Digest.type=='txt'">{{::Digest.val}}</div>     </div> 

然后css上定義了loading圖片,加載中會(huì)先看到的是在加載過程的圖片

復(fù)制代碼 代碼如下:

img[data-ui-lazyload]{ background:url(../img/icons/loading.gif) no-repeat center center;} 

一開始也不知道是什么情況,將循環(huán)圖片的html代碼一層一層往上放排查,經(jīng)過反復(fù)查找發(fā)現(xiàn)是父父父級(jí)class設(shè)定的定位:position:absolute;導(dǎo)致了div脫離文檔流導(dǎo)致的。而插件又是根據(jù)windows監(jiān)聽滾動(dòng)事件的。這里的解決辦法就是把定位改為relative就可以了。

然后是加載過程發(fā)現(xiàn)發(fā)現(xiàn)不知道為啥loading圖片都沒有出現(xiàn)。出現(xiàn)的一直是onerror定義的默認(rèn)圖片,一直以為是插件的問題,后來換了個(gè)插件使用。發(fā)現(xiàn)根源是在src=""這個(gè)屬性導(dǎo)致的,渲染的過程認(rèn)為查找不到圖片就直接顯示默認(rèn)的圖片了。這里只要?jiǎng)h掉src屬性即可解決。

然后又發(fā)現(xiàn)當(dāng)我某幾張圖片定位到可是區(qū)域后,f5刷新瀏覽器,發(fā)現(xiàn)一直在加載中,圖片無法顯示出來,只有當(dāng)我滾動(dòng)下鼠標(biāo),圖片才會(huì)加載出來。這個(gè)實(shí)在不清楚什么原因,我只能選擇另外一個(gè)插件使用。

最終的解決方案是使用的這個(gè)插件【http://bennadel.github.io/JavaScript-Demos/demos/lazy-src-angularjs/】,發(fā)現(xiàn)上面的第三點(diǎn)問題在這里并不存在,果斷使用這個(gè)插件,唯一不足是這個(gè)需要依賴于jquery庫。這個(gè)插件依然是監(jiān)聽windows滾動(dòng)事件,無法自定義監(jiān)聽滾動(dòng)事件,因此需要注意的是以后的項(xiàng)目上需要懶加載的地方他的父輩元素一定不能是absolute定位。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 榆树市| 乾安县| 海口市| 沙雅县| 泽普县| 平远县| 高唐县| 齐齐哈尔市| 勐海县| 邵阳县| 松溪县| 渝北区| 双城市| 海林市| 宝应县| 徐汇区| 永靖县| 湄潭县| 蒲江县| 禹州市| 呼玛县| 海门市| 石楼县| 宝鸡市| 沅陵县| 泰来县| 威信县| 滦南县| 婺源县| 浏阳市| 潼南县| 重庆市| 汉沽区| 西城区| 台安县| 都安| 武胜县| 闽侯县| 融水| 观塘区| 慈溪市|