2010-09-25 71 views
1

經過一番研究和我提出了一些問題後,我意識到了以下幾點:jQuery插件Lazy Load(http://www.appelsiini.net/projects/lazyload)doesn'在Safari上工作甚至不在Firefox上。延遲加載我的網頁上的圖像

我剛剛測試了他們的演示。

請你需要使用Firebug,看看所有的圖像如何一次加載在開始,然後再次加載滾動(所以你實際上有雙重下載)。

你可以給我一個解決方案如何實現mashable.com圖像的懶惰佈局?

感謝

回答

2

這樣做:

<img alt='some_text' _src="img_url" class='lazyLoad'> 
    // please note i have added underscore character before 'src' 

jQuery(function(){ 
    jQuery('.lazyLoad').each(function(){ 
      var _elm= jQuery(this); 
      _elm.attr('src',_elm.attr('_src')); 

      //on DOM ready loop through each 
      //image with class=lazyLoad and add src attribute to it. 
     }) 
}); 
+0

mhm,所以唯一的辦法就是改變原來的代碼?這對我來說有點問題,因爲我沒有一個靜態頁面。 – aneuryzm 2010-09-26 07:55:57

+0

你是否在尋找類似的東西:在初始加載時,只顯示那些存在的圖像是窗口的可見區域,並在滾動發生時加載更多圖像。像youtube一樣。 – 2010-09-26 18:59:22

+0

一個很好的例子是mashable.com。但重點是我不能像你所建議的那樣更改原始的html代碼(即_src)。從我能看到的唯一方法是更改​​原始代碼。 – aneuryzm 2010-10-28 21:07:54

0

它似乎不是爲我在Mac上工作FF 3.6,我創建了自己的插件工作正常稱爲JAIL(jQuery的異步圖像裝載機)

嘗試檢查project homepage並讓我知道您的想法。希望它有幫助

0

這是自動刪除圖像src不再工作的一部分。這是由於現代瀏覽器加載圖像的方式發生了變化。 2009年12月23日發佈的版本1.5提供了替代方法,您必須在original屬性中更改HTML和存儲圖像URL。我最近將其重命名爲data-original,以便HTML5友好。我也更新到documentation哪個更好地解釋瞭如何使用它。