2016-06-23 223 views
0

我使用lazyload.js庫來延遲加載動態加載到無限滾動視圖的圖像。在我開始滾動並加載下一頁結果之後,延遲加載就可以正常工作。lazyload.js需要在初始加載時顯示圖像的動作

在初始加載時,圖像不會延遲加載,直到窗口中出現一些動作,無論是輕微滾動,點擊容器中的可點擊元素等。如果我在$('.lazy').lazyload()的調用中放置了定時器,它工作正常,但我不想這樣做(這很哈克)。

初始加載後,如果我從JavaScript控制檯運行$(window).resize(),圖像加載得很好,但即使我在初始加載後在代碼中執行此操作,它也不起作用。

有沒有一種方法可以在初始加載時強制圖像延遲加載?

請注意,在通過AJAX調用初始頁面加載後,圖像被放置到頁面上。

回答

1

我個人不是lazyload.js的粉絲(表現是糟糕的),但實際上它應該是開箱即用的。準備就緒時應該觸發加載。

既然resize似乎也沒有工作,你可以驗證這些事件實際上是火嗎?也許有些東西與你的HTML(doctype,或者是天知道的)有關。

+0

你有什麼建議,而不是lazyload.js? – tommybond

+0

我很偏見,我用jQuery.isInView實現了延遲加載,因爲我寫了這個東西。另一個競爭者會是jquery.visible,就速度而言(咳嗽)是第二好的。我在這裏測試了一堆組件:http://output.jsbin.com/lisudi/3。也許這可以幫助你選擇一個適合你的工具,具體取決於頁面上的延遲加載項的數量。爲了平滑滾動,您必須在16ms內完成作業(在您計劃支持的最慢平臺上)。 – hashchange

+0

所以我剛剛實施isInView並仍然是相同的問題!我必須做一個SLIGHT滾動爲了顯示任何東西。我開始認爲這是我做錯了,哈哈。我不明白。 – tommybond

相關問題