2013-05-29 137 views
2

所有圖片我怎麼也想不到這只是開始發生,它一直工作正常了幾個月......LazyLoad加載負荷

http://www.lizhess.com/shop/

關注Chrome中的淨標籤/ FF - 它裝載250 +圖片請求後一秒鐘在網頁上......它說,jquery發起這些請求...

這幾乎就像在LL的東西混淆關於哪些圖像是可見的......我已經嘗試了很多選項無濟於事。

使用此LL:http://www.appelsiini.net/projects/lazyload 並使用此代碼:

jQuery("img.lazy").lazyload({ 
effect: "fadeIn", 
    effectspeed: 200, 
    failure_limit: Math.max(jQuery("img").length - 1, 0) 
}); 

任何想法?

回答

3

看起來像是event設置。通過default它設置爲scroll,它看起來像加載滾動的所有圖像。

在,如果你做的控制檯:

jQuery('img.lazy').attr('src', ''); //Reset the images 
jQuery('img.lazy').lazyload({event: 'hover'}); //Rebind our own 

你會發現,它現在可以正確懸停。所以我相信這只是造成問題的scroll事件。奇怪的是,我相信threshold設置應該照顧這個,但我從來沒有使用插件,所以我不完全確定。

不過,我希望這至少可以讓你朝着正確的方向發展,並且你也許能夠改變事件,或者錯開你懶惰的元素img

更新

如果你做的推出插件(控制檯)類似的東西,它實際上似乎正常工作(在Firefox中,無佔位符):

jQuery('img.lazy').attr('src', ''); 
jQuery('img.lazy').unveil(); //Images will now load as they are scrolled to 

因此,也許你可以嘗試推遲電話揭幕。

+0

這其實很像我已經想到的:/ - 我嘗試了閾值選項,似乎沒有任何區別... 我需要系統通過滾動事件工作。它正在工作,只加載可見圖像,然後在您向下滾動時加載更多。 但後來它就停了。無法數字...猜測我將在明天進行更多的調試:)感謝您的建議。 – godofleet

+0

進一步測試,我完全拉出了lazyload初始化腳本並加載了頁面,當然沒有加載圖像。然後,我在控制檯中運行init腳本,沒有任何事情發生(好符號) - 然後我在主窗口中滾動。POW所有圖像立即加載(並且幾秒鐘的硬件瀏覽器鎖定)...我做了最近升級了Chrome ...我想知道現在是否有bug? – godofleet

+0

另一件需要注意的事情是,我打開了LL - 這是一個幫助函數/選擇器$(「img:below-the-fold」) - 運行這個不會返回任何內容......但是在他的demo中運行它[鏈接](http: //www.appelsiini.net/projects/lazyload/enabled.html)確實會返回一些元素...所以這意味着LL以某種方式將整個窗口視爲「可見」圖像... – godofleet