For example, if I have this:
$('#button').click(function() {
$.get('/question', function(data) {
$('#question').html(data);
$('#question').dialog( ... );
});
return false;
});
Will the user see the question content for a brief moment before the dialog is shown?
Note: Normally I’d just hide the #question manually, but there’s actually a step in between html() and dialog() with another jQuery plugin where the content must not be ‘hidden’.
Short Answer
Yes, it’s possible that the user will see the question content for a brief moment before the dialog is shown.
The Fix
To guarantee you won’t momentarily see the contents of
#questionbefore displaying the dialog, absolutely position#questionoffscreen before displaying it. After that, call the jQuery plugin that requires#questionto be displayed. Finally, hide#questionand restore its position.CSS
JavaScript