2013-02-28 31 views
1

我有一個頁面使用懶加載插件來加載一堆小圖片。我有一組刪除元素並添加元素的過濾器。所以我每次點擊過濾器時都會調用所有img元素的延遲加載。當我這樣做時,它開始減慢頁面速度,每次我調用$(「img」)。lazyload();它變得更加困難。我試圖在元素被移除之前使用unbind,所以一旦被添加了新的事物,就沒有遺留下事件,但是這個stil什麼也沒做。延遲加載jQuery插件減慢頁面

任何人都知道爲什麼會發生這種情況。我的代碼源非常龐大,所以我無法將一個元素髮布出去。所以希望以前有人遇到過這個問題,並可能有一個想法爲什麼會發生。

另一個問題是我必須調用$(window).trigger(「scroll」);在我調用$(「img」)後,lazyload();爲了加載圖像。這是正常的嗎?

+0

沒有代碼,我們可以做的不多。試着僅用相關位創建一個例子......您不必提供它,只是涉及您的問題的一般邏輯。 – ken 2013-02-28 19:48:01

回答

0

我有一個類似的問題,我今天能夠弄清楚。見我的解決方案在這裏我的問題:

jQuery LazyLoad plugin slowing down div scrolling

快速回答,雖然是lazyload結合事件偵聽器每次在容器上運行的時間來檢查滾動。不幸的是,在重新綁定它之前不會解除綁定這個事件,所以當你反覆運行lazyload時,你將添加大量的添加到容器的滾動監聽器。快速解決方案是在調用延遲加載之前,在容器上執行.unbind('scroll')。上面的鏈接有更深入的答案以及一些小提琴來看看它們的區別。