imagesLoaded是一個圖片載入外掛,能夠監測圖片的載入狀態,Github 5k+ stars表明了這款外掛的實用性。
JavaScript is all like “You images done yet or what?”
如果你希望在圖片載入完成後做些什麼。或在圖片載入失敗後能有補救措施,這款外掛會很有用處。
需要注意的是,如果有新新增的元素,要在元素新增完後重新設定外掛,否則不會監測新元素。
安裝方式
npm
npm install imagesloaded
Bower
bower install imagesloaded --save
載入
<script src= "https://npmcdn.com/imagesloaded@4.1/imagesloaded.pkgd.js"></script>
配置方式
// jQuery配置方式
$(`#container`).imagesLoaded( function() {
// 圖片載入後執行的方法
});
$(`#container`).imagesLoaded( {
// 屬性配置
},
function() {
// 圖片載入後執行的方法
}
);
// javaScript配置方式
var imgLoad = imagesLoaded( `#container`, function() {
// 圖片載入後執行的方法
});
全部事件
$(`#container`).imagesLoaded()
.always( function( instance ) {
console.log(`圖片已全部載入,或被確認載入失敗`);
})
.done( function( instance ) {
console.log(`圖片全部載入成功`);
})
.fail( function( instance ) {
console.log(`圖片已全部載入,且至少一個圖片載入失敗`);
})
.progress( function( instance, image ) {
console.log(`每張圖片載入完`);
var result = image.isLoaded ? `loaded` : `broken`;
console.log( `載入結果 ` + result + ` 圖片地址 ` + image.img.src );
});
// javaScript方式
imgLoad.on( `always`, onAlways );
全部配置
// background 檢測背景圖片的載入情況
$(`#container`).imagesLoaded( { background: true }, function() {
console.log(`#container background image loaded`);
});
// 指定要檢測背景圖片的子元素
$(`#container`).imagesLoaded( { background: `.item` }, function() {
console.log(`all .item background images loaded`);
});
// JavaScript方式
imagesLoaded( `#container`, { background: true }, function() {
console.log(`#container background image loaded`);
});
引數
參看事件一欄,instance是imagesLoaded的例項
image是LoadingImage的例項
LoadingImage有兩個介面:
-
LoadingImage.img返回載入img圖片的元素;
-
LoadingImage.isLoaded返回圖片是否被成功載入。
imagesLoaded有一個介面
-
imagesLoaded.images返回LoadingImage的陣列