2012-05-25 76 views
1

我有一個有很多圖像的頁面。如果用戶還沒有向下滾動到圖像所在的位置,瀏覽器加載它們是沒有意義的。 我想將img元素綁定到一個事件處理函數,當包含div的元素可見時(在用戶滾動到足以使元素位於視口中)時觸發該事件處理函數。這個處理程序將重寫src屬性,並且圖像將會加載。當向用戶顯示元素時觸發哪個事件?

我在找什麼活動?

+0

你可以只使用任何延遲加載的jQuery插件像這樣的:http://www.appelsiini.net/projects/lazyload – xbonez

+0

有沒有事件本身。您正在尋找的技術稱爲延遲加載。 http://stackoverflow.com/questions/8509878/jquery-lazy-loading-image-with-throttling –

回答

1

沒有原生的jQuery事件正在做你想做的事。您需要使用scroll事件來獲取滾動位置,獲取可見圖像並加載它們。

已經有插件爲你做這件事。也許出現的jQuery插件,你在找什麼:http://code.google.com/p/jquery-appear/

這可能是這個問題的一個副本:Make images load when they enter visible section of browser?

+0

從技術上講,他的問題是「發生什麼事件」。雖然我同意你使用成熟的插件好得多,但這不是他的問題的答案 – xbonez

+0

這就是爲什麼我只是編輯了問題;)感謝評論。 – Pierre

0
$(window).scroll(function(){ 

// if user has scrolled to 250px 
if ($(this).scrollTop() > 250){ 
    // load your images, 
} 
}) 

一個更好的方法將被放置在div底部和使用mouseenter事件來檢測用戶是否想要更多圖片。

$('#the_bottom_div').mouseenter(function(){ 
    // If user has placed mouse on bottom,load images (like facebook does) 
}) 
相關問題