JS實(shí)現(xiàn)圖片延遲加載并淡入淡出效果的簡(jiǎn)單方法
話不多說,直接看示例
首先是圖片標(biāo)記的寫法
<img data-src="/images/image.jpg" alt="">
需要將圖片的地址放到 data-src
屬性里,而src
值不需要,直接將src
屬性去掉。
CSS代碼
所有具有data-src
屬性的圖片,我們將其初始顯示狀態(tài)為不可見,通過透明度來調(diào)節(jié):
img { opacity: 1; transition: opacity 0.3s; } img[data-src] { opacity: 0; }
這樣寫的作用是什么?等當(dāng)圖片加載時(shí),你就能看的效果了。
JavaScript代碼
我們最終會(huì)將 data-src
屬性去掉,換成src屬性,但這是圖片加載成功后的動(dòng)作:
[].forEach.call(document.querySelectorAll('img[data-src]'), function(img) { img.setAttribute('src', img.getAttribute('data-src')); img.onload = function() { img.removeAttribute('data-src'); }; });
相比起其它各種的圖片延遲加載技術(shù),這種方法非常的簡(jiǎn)單,它幾乎不要求其它任何條件,可以用在任何地方,使用起來非常靈活。
但是要注意的是,簡(jiǎn)單有簡(jiǎn)單的好壞,也會(huì)因?yàn)楹?jiǎn)單而不足。它不具有圖片圖片滾動(dòng)到可視窗口內(nèi)再加載的功能。最終使用哪種技術(shù),還是要看場(chǎng)景而定。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的工作和學(xué)習(xí)能有所幫助。
相關(guān)文章
Javascript實(shí)現(xiàn)的鼠標(biāo)經(jīng)過時(shí)播放聲音
今天突然想起做一個(gè)當(dāng)鼠標(biāo)經(jīng)過<a/>時(shí),會(huì)發(fā)出聲音2010-05-05用js+iframe形成頁面的一種遮罩效果的具體實(shí)現(xiàn)
用js形成頁面的一種遮罩效果,選擇想要進(jìn)行遮罩的窗口,在這里想要遮罩的是一個(gè)iframe窗口,具體的實(shí)現(xiàn)如下,感興趣的朋友可以參參考下2013-12-12微信小程序?qū)崿F(xiàn)簡(jiǎn)易計(jì)算器
這篇文章介紹了微信小程序?qū)崿F(xiàn)簡(jiǎn)易計(jì)算器的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06深入淺出ES6新特性之函數(shù)默認(rèn)參數(shù)和箭頭函數(shù)
這篇文章主要介紹了深入淺出ES6新特性之函數(shù)默認(rèn)參數(shù)和箭頭函數(shù) 的相關(guān)資料,需要的朋友可以參考下2016-08-08