我正在重新设计投资组合,我有一些 JS 可以生成大量(大约 300 个)div,设置样式并将它们附加到 body。这在 webkit 浏览器中可以快速完美地运行,但是对于 Firefox,它的运行速度非常慢。
我一直试图弄清楚为什么 Firefox 无法处理这个问题,我尝试将所有 div 的 html 连接为字符串,然后将整个内容附加到正文,但事实证明这同样慢或慢。
如果您想现场查看问题,我的网站在这里
这是相关的代码位:
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();