The internal $.hide()
method does a css: display:none;
on your element. This will cause the flash to reload each time. I would suggest hiding your flash a different way, since it reacts poorly to this css property.
Here is a plugin that hides your element by positioning it off of the screen. This doesn't work in all cases, but can be very useful if it applies to you.
The CSS to add:
.flashHide {
position:absolute;
left:-99999px;
}
And the plugin to add:
(function($){
var hideClassName = 'flashHide';
$.fn.extend({
flashHide: function() {
return this.each(function(){
$(this).addClass(hideClassName);
});
},
flashShow: function() {
return this.each(function(){
$(this).removeClass(hideClassName);
});
}
});
})(jQuery);
Then you would use it like this:
$('div#flashContainer').flashHide();
$('div#flashContainer').flashShow();
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…