ajax請求後,我插入一個部分到頁面中。插入部分加載後運行javascript
現在我要等到所有的圖像加載,然後淡出他們。
$(document).ready
不起作用,因爲該文件已經準備好了。我如何設置?
ajax請求後,我插入一個部分到頁面中。插入部分加載後運行javascript
現在我要等到所有的圖像加載,然後淡出他們。
$(document).ready
不起作用,因爲該文件已經準備好了。我如何設置?
您是否提前知道圖片?如果是這樣,你可以這樣做:
(function(){
var preLoadImg = new Image();
preLoadImg.src = "/images/button.png";
var preLoadImgLoading = new Image();
preLoadImgLoading.src = "/images/loading.gif";
})();
或者......
$('#img1').load(function(){
// fadeIn
});
您可以預先載入圖像,並調用一個函數一旦它完全通過執行以下操作加載:
var img = new Image();
img.addEventListener('load', myCallBackFunction, false);
img.src = 'my/img/src/';
在這種情況下,圖像完全加載後,myCallBackFunction將被調用。所以如果你有多個圖像,你可以使用一個計數器來跟蹤它們是否全部加載完畢。例如:
imgReadyCounter = 0;
imgReadyCallBack = function(){
imgReadyCounter++;
if(imgReadyCounter === numOfImages){ //numOfImages would be however images you are loading
//fadeIn your content
}
}
//then do the following for each image
var img = new Image();
img.addEventListener('load', imgReadyCallBack, false);
img.src = 'my/img/src/';
關於這種方法的好處是,即使用戶已經在他的瀏覽器的緩存圖像,回調函數依然會被調用。許多其他技術將導致回調不被稱爲緩存圖像。
我與你提供的第一個鏈接的waitForImages jQuery插件去 - 偉大工程。謝謝! – 99miles