2014-03-27 131 views
0

我正在用C#和MVC5構建新聞網站。我也使用MsSQL。在這個項目中,我將所有東西都作爲局部視圖,當我需要時,我調用組件並將它放入需要的部分(將組件綁定到db等部分)。出現性能問題。其中之一是從jquery延遲加載。延遲加載組件加載

我通過底部滾動網頁,在主要部分延遲加載作品,但在右側,有組件(如最新閱讀新聞,最多評論新聞)它們不會延遲加載,直到滾動主要部分結束。在主要部分完成滾動後,在右側,組件圖像開始出現。

我該如何解決這個問題?

編輯:我使用; jquery.lazyload.js和在意見(cshtml)我做我的img標籤這樣;

<img class="lazy" src="/assets/img/lazyload.gif" data-original="blabla.jpg"/>

+1

向我們展示的代碼/ HTML是如何structed /如何延遲加載 – SynerCoder

+0

你可以檢查編輯。 –

回答

1

我看着從Jquery.Lazyload的文件,發現如下:

圖像時沒有先後順序滾動頁面插件後循環 雖然卸載圖像。循環檢查圖像是否可見。通過 當找到第一個圖像在視口外時,默認循環停止。 這是基於以下假設。頁面上圖像的順序與HTML代碼中圖像的順序相同。有些佈局假設這 可能是錯誤的。您可以使用failure_limit 設置來控制加載行爲。

$("img.lazy").lazyload({ 
    failure_limit : 10 
}); 

設置failure_limit至10原因插件來停止搜索圖像 找到倍低於10個圖像之後加載。如果你有一個時髦的 佈局將這個數字設置得很高。最糟糕的情況是實際的 圖片數量。

來源:http://www.appelsiini.net/projects/lazyload


我爲此假設你的側邊欄在HTML頁面的底部定義,以不加載,直到您向下滾動。


小更新:

在文檔如下提示:由於你沒有HTML或CSS它可能不會在所有瀏覽器正常工作定義寬度/高度。

PRO TIP!必須將圖像尺寸設置爲寬度和高度屬性或CSS。否則插件可能無法正常工作。

來源:http://www.appelsiini.net/projects/lazyload

+0

首先,謝謝你的回答,我現在正在嘗試。 Failure_Limit:10沒有改變任何東西,現在我會嘗試將它們放在底部。 –

+0

如果您的側邊欄中有多於10張圖片,則無法使用。但讓我知道 – SynerCoder

+0

嘗試一個超高的數字,例如9999,如果它仍然不起作用,它是別的東西 – SynerCoder