Do it like this:
$('#div').show(0).delay(5000).hide(0);
By passing in numbers to .show()
and .hide()
, jQuery will take those methods into its internal fx queue (even if the number is zero). Since .delay()
only works within a queue, you need that little workaround.
example: http://jsfiddle.net/zceKN/