2012-04-18 59 views
0

我有一個非常大的html文件,DOM元素的大小超過1500.基本上有很多div元素,我們加載所有這些div。然而,我們並沒有在開始時顯示所有這些div。有沒有一種方法可以根據需要加載這些div?加載大HTML

+7

看一看AJAX。 – Sirko 2012-04-18 12:44:22

+0

我認爲Oded暗示的是,你應該嘗試選擇某人的答案,因爲它幫助了你的問題。一旦你選擇它作爲你的答案,綠色的勾號將出現在他們的答案旁邊。如果你沒有選擇一個答案來幫助你,人們將不願意回答你的問題。 – TryHarder 2012-04-19 10:33:40

回答

1

我假設你的意思是1500個元素。

查看AJAX和延遲加載,以便在用戶接近它或可見時加載內容。

http://www.thewebsqueeze.com/web-design-tutorials/introduction-to-ajax-with-jquery.html

http://www.lunatech-research.com/archives/2011/08/10/lazy-loading-jquery-ui-ajax-play

http://cflove.org/2010/09/how-to-build-a-lazyload-ondemand-load-with-jquery.cfm

http://www.infinite-scroll.com/

http://api.jquery.com/jQuery.ajax/

一個更重要的問題,你實際上需要1500元,看起來好像很多。你有沒有辦法減少元素的數量,使用分頁或單獨的頁面?

function loadHeads() { 
    $.ajax({ 
    url: "/mycontent.html", 
    context: document.body 
    }).done(function(data) { 
    $("#container").html(data); 
    }); 
} 

$("#container").bind("mouseleave", function() { 
    $(this).empty(); 
}); 

<div id="head" onclick="loadHeads()"></div> 
<div id="container"></div> 
+0

感謝Matthew的快速回復。基本上它是一個應用程序,用戶可以通過選擇不同的對象來創建自己的副本,例如當用戶點擊頭部不同的頭部形狀時,他點擊襯衫上的所有襯衫圖像顯示哪些是div格式等等。之前我們爲每個對象都有單獨的html文件,但是滾動不起作用,我們被迫在同一個html中編寫所有的div。 – user1000397 2012-04-18 13:11:03

+0

因此,我認爲答案是隻在你需要時加載你需要的元素,然後在隱藏時摧毀它們。 所以如果用戶點擊頭部,它會顯示其他頭部,但是當這個關閉元素被刪除。這些元素可以通過AJAX從不同的文件加載。 – 2012-04-18 13:13:55

+0

我們該怎麼做?你的意思是說動作加載divs? – user1000397 2012-04-18 13:21:22