我正在重新組合設計,我有一些JS可以生成大量(大約300個)div,對它們進行樣式設置,並將它們附加到body中。這在webkit瀏覽器中可以快速,完美地工作,但是當談到Firefox時,它就像地獄一樣慢。Firefox Jquery appendTo效率低下?
我一直在想弄清爲什麼Firefox無法處理這個問題,我嘗試將所有div的html作爲字符串連接起來,然後將整個事件附加到body上,但事實證明這只是慢或者慢。
如果你想看到這個問題的活,我的網站是here
這裏的代碼的相關位:
get_bokeh返回的CSS樣式描述一個單一的「散景」一片的字符串。
function generate(){
$("#bokeh_container").remove();
if (q==0){
min = 30,
max = 30,
bokeh_count = 1;
}
else if (q==1){
min = 7,
max = 10,
bokeh_count = 300;
}
else if (q==2){
min = 7,
max = 15,
bokeh_count = 300;
}
else if (q==3){
min = 8,
max = 11,
bokeh_count = 500;
}
sum = min+max;
window_width = $(document).width();
window_height = $(window).height();
colorful = $("#colorful").attr("checked");
var container = $("<div />",{"id":"bokeh_container","style":"width:100%; height:100%; position:absolute; left:50%; margin-left:-600px; top:0px; z-index:1; display:none; "});
for(var i=0;i<bokeh_count;i++){
$("<div />",{"class":"bokeh","style":get_bokeh()}).appendTo(container);
}
container.appendTo("body").show();
運行Firefox 5,它似乎沒有任何問題表現。 –
你有沒有可能在做這個測試時讓Firebug處於活動狀態?如果是這樣,那麼關閉它有幫助嗎? –