2012-09-15 69 views
0

我想使用Lazy load到我的網站,但有一個小問題:我用JS滾動內容(用X px動畫化內容),所以我不使用滾動條。可悲的是,在這種情況下,延遲加載不會觸發。有任何想法如何做到這一點?jQuery惰性負載的動畫滾動

我的網站橫向滾動,所有的內容div -s浮動靠近對方,並且只有當前一個是可見的,所有其他的都在display: none;

這裏是我的網站不那麼親PIC:我用黑色標記可見區域和紅色的移動部分。

my site in pic

+0

你能說清楚你目前如何通過JS滾動內容嗎?爲什麼不動畫滾動位置呢? – ventaur

回答

0

所有我能想到的是鉤到時內容的幻燈片,然後在添加圖像或如果那是你的目標的全部內容用AJAX。插件通常會關注大部分用例,因此懶惰加載可能不適合您。

+0

我對AJAX不太好,這就是爲什麼我試圖找到類似的解決方案:( – Stefanie

+0

猜猜它會成爲一個學習經驗。:)永遠珍惜一次學習新事物的機會。 [jQuery的AJAX](http://api.jquery.com/category/ajax/)功能非常簡單易用。 – FluffyJack

0

我只想寫我自己的簡單的延遲加載腳本:

$(function(){ 
    $('img').each(function(){ 
    var $this = $(this) 
    $this.data('origImg',$this.attr('src')) 
    $this.removeAttr('src') // or set a placeholder img 
    }) 
    var $window = $(window), $container = $('#sliding_content') 
    window.lazyLoad = function() { 
    $container.find('img:not([src])').each(function(){ 
     var $this = $(this), left = $this.offset().left 
     if (!(left < 0) && !(left > $window.width())) 
     $this.attr('src',$this.data('origImg')) 
    }) 
    } 
}) 

,然後在div的是動畫,來電lazyLoad()。 讓我知道這是否適合你。 :)

+0

我對JS有點蹩腳,所以我應該寫些東西給'origImg'?還是其他地方? – Stefanie

+0

我編輯了我的代碼。只需將'containerSelector'替換爲具有水平滾動條的元素的選擇器即可。 – Abraham

+0

它什麼都不做,'img'標籤缺少'src'屬性,Firebug不會給出任何錯誤... – Stefanie