2012-08-13 208 views
0

有沒有一種方法使用jQuery添加事件監聽器,就像在AS 3.0中可用的一樣?例如,如果您加載圖像(將其不透明度設置爲零以便它不出現在屏幕上),那麼jQuery是否具有類似於onComplete事件偵聽器的功能,該偵聽器在負載完成時偵聽?一旦加載成功加載,你可以觸發另一個函數,將其不透明度再次變回1。jQuery事件監聽器

我已經看到了一些已經編寫的插件,但我想問一個問題,看看是否有人在沒有使用第三方插件的情況下找到解決方案。

謝謝。

+0

你的意思是類似['.load()'](http://api.jquery.com/load-event/)? – MrOBrian 2012-08-13 23:03:15

回答

2

像這樣的東西?

$(function(){ 
    $("img").hide().load(function(){ 
     $(this).fadeIn(); 
    }); 
}); 

第一行是簡寫$(document).ready(function(){

然後我們只需選擇所有img元素,隱藏起來,並添加一個load處理程序,他們漸漸消逝他們進來。

儘管如此,如果緩存上述可能會證明是麻煩。以下將解決這個問題。

$(function(){ 
    $("img").hide().each(function(){ 
     if(!$(this).width()){ // image dimensions are unavailable if it's not loaded 
      $(this).load(function(){ 
       $(this).fadeIn(); 
      }); 
     }else{ //if the image is loaded already 
      $(this).fadeIn(); 
     } 
    }); 
}); 
+0

謝謝ahren,我會給你一個例子。 – user1563944 2012-08-13 23:16:06