2013-05-04 135 views
1

我創建了一個數據庫,用於存儲所有圖像的名稱,以便以後可以檢索它。爲了獲取圖像的名字,我用ajax與<img>標籤綁定它:使用Ajax延遲加載

$.post('image_name.php',{id:id}, function(data){ 
    $('#container').html('<img src="img/'+data+'">'); 
}); 

一切都很正常。但是我注意到的是,所有圖像同時顯示,這會稍微減緩過程。因此,我認爲處理這個問題的最好方法是使用延遲加載。我想要顯示任何數據......但我不知道如何。

Additonal Info:我想創建一個縮略圖列表。就像Imgur側邊欄(http://imgur.com/gallery/19E2ZAX

+0

如何使用jQuery插件? http://www.appelsiini.net/projects/lazyload – 2013-05-04 21:51:19

+0

我不想懶加載圖像,我試圖懶加載數據我從我的數據庫檢索 – user2310422 2013-05-04 22:03:22

+0

好吧...並澄清,你想要懶惰加載圖像src的屏幕上不可見? – 2013-05-04 22:06:15

回答

0

如果您打算創建一個左/右按鍵的列表:

  1. 使用Ajax獲取下一個6個圖像陣列。只有名稱或ID。
  2. 關於ajax成功:
    • 創建一個圖像數組的循環$(array).each in jquery is nice!
    • 在循環週期設置一個時間定時器(http://archive.plugins.jquery.com/project/timers是偉大的)爲每個圖像。使用數組的索引*週期* 1000(1000毫秒爲1秒)

整體思路是:

onsuccess: 
    $(whatyougotfromajax).each(function(index, value) 
    { 
     $.oneTime(index * Interval * 1000, function() 
     { 
      $('#block').append('<img src="sth.php?Id=' + value + '">'); 
     }); 
    }); 

我林不知道......不,我敢肯定,它不是以這種方式工作,但你有想法