2011-10-25 105 views
1

好了,這裏是我目前工作的代碼...圖像中一個又一個頁面之後衰落加載

$(window).load(function() { 
    $("#scroller li").each(function(i) { 
      $(this).delay(400*i).fadeIn(); 
    }); 
}); 

加載窗口後,陸續消失在一個圖像,完美。但是在我的頁面上,我有一個鏈接,它調用一個包含更多圖像的html文件。這個腳本只是淡化圖像,一個接一個,而他們正在加載,導致一半切斷圖像漸入...

所以我想要的是當文檔準備好了,它加載所有的圖像,然後淡入他們進來。

我需要使用jQuery(document).ready(function()啓動腳本,所以.bind('load')是爲了......我想..我在這個漂亮的新...

這是我想出了,但它不工作..也許有人可以告訴我爲什麼...

$(document).ready(function() { 
    $("#scroller li").each(function(i) { 
      $(this).bind('load', function(){ 
       $(this).delay(400*i).fadeIn(); 
      }); 
     }); 
    }); 

回答

1

由於$(document).ready已經發生負載,直到整個頁面的內容已經加載,然後纔會觸發該函數。

你試圖啓動Li或李時珍爲隱藏,然後就這樣做:

$(document).ready(function() { 
    $("#scroller li").each(function(i) { 
      $(this).delay(400*i).fadeIn(); 
     }); 
    }); 
+0

是的,所有的LI都隱藏了......當我調用.load函數時,我加載的新的li並同時一個接一個地淡入,導致圖像的一半被截斷它會消失... – Ryan

0

這聽起來像你想預載的圖片。如果圖像被預加載,它們將被緩存,因此當您第一次顯示圖像時應顯示整個圖像而不是被截斷。你可以通過使用`$(「」)來預加載圖像。attr('src','source/of/image');這將圖像加載到內存中,並應提前緩存它們。它不會將它們追加到DOM。