Have a large amount of HTML, but where I thought the bottleneck would be is incorrect: it's when I'm opening the dialog, not when I'm building the string of HTML (~35ms), nor when I'm appending it to the dialog container div (~50ms). When calling dialog("open") below In FF, I'm consistently getting 1800+ ms, IE7 is around 17000(!) ms. I can live with 1800ms, but in IE7 (99% of my user base), that's way too long.
// prep dialog
$("#print-box").dialog({
bgiframe: false,
width:900,
height: 1000,
modal: true,
autoOpen: false,
draggable: false
});
// display selected items in print preview modal
$("#print-preview").click( function() {
$('#print-box').empty();
var tmp = ['<div class="print-container">'];
var rows = $('[name="print-this-listing"]:checked').parents("div.listing").clone();
for (var i=0; i < rows.length; i++) {
tmp.push($(rows[i]).html());
}
tmp.push('</div>');
$('#print-box').html(tmp.join(''));
$('#print-box').dialog('open');
});
Any ideas? I'm trying to build a print preview page and would rather not take another round trip to the server to fetch all that data again, but it's much much quicker than client-side right now.