私はポートフォリオの再設計に取り組んでおり、多数 (約 300) の div を生成し、スタイルを設定し、body に追加する JS を少し持っています。これは、Webkit ブラウザーでは迅速かつ完全に機能しますが、Firefox に関しては非常に遅いです。
Firefox がこれを処理できない理由を突き止めようとしていて、すべての div の html を文字列として連結してから、全体を body に追加しようとしましたが、これは同じか遅いことがわかりました。
問題をライブで見たい場合は、私のサイトはこちら
関連するコードは次のとおりです。
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();