2012-07-23 65 views
0

在開發我的投資組合時,我意識到加載頁面需要很長時間,因爲所有圖像必須加載才能完成頁面加載。阻止/推遲加載HTML元素

所以,我想知道是否有任何方法來阻止或停止加載,然後再允許它。

含義類似,防止立即加載,然後點擊另一個已加載的元素,讓我們說#title,然後加載.images。

這是可能的,如果是的話如何?

在此先感謝!

+1

您希望人們不得不點擊某種佔位符來查看您的內容?這似乎是一個可怕的用戶體驗。 – meagar 2012-07-23 20:35:57

+1

我不知道你有多少圖片以及它們的尺寸是多少,但是我認爲你會錯誤地做,也許會縮小圖片的尺寸,也許你不需要上百張圖片,頁面緩慢 – 2012-07-23 20:47:27

+0

@meagar是的,這確實看起來像一個可怕的用戶體驗。但那不是我想要做的。 – IrfanM 2012-07-23 21:12:13

回答

3

事情是這樣的:

HTML

<img src="" class="lazyload" data-attr="image1.jpg" alt="Alt" title="Title" width="50" height="50" /> 

的JavaScript

$('#title').click(function(){ 
    $('.lazyload').each(function(){ 
     $(this).attr('src',$(this).attr('data-attr')); 
    }); 
}); 

或者你可以使用LazyLoad插件稍有不同的功能。

+0

嗯,這看起來很有趣。所以這是做的是加載圖像元素,但不是源(因爲沒有src值)。 然後點擊#title,添加source屬性的值,這意味着它隨後被加載,是否正確? – IrfanM 2012-07-23 21:18:19

+0

你明白了:-)。 – wanovak 2012-07-23 21:25:22

+0

好的,謝謝你的幫助! :-) – IrfanM 2012-07-23 21:27:05