In the simplest case, you'll need to use a callback on the call to fadeOut().
Assuming an image tag already on the page:
<img id="image" src="http://sstatic.net/so/img/logo.png" />
You pass a function as the callback argument to fadeOut()
that resets the src
attribute and then fades back using fadeIn()
:
$("#image").fadeOut(function() {
$(this).load(function() { $(this).fadeIn(); });
$(this).attr("src", "http://sstatic.net/su/img/logo.png");
});
For animations in jQuery, callbacks are executed after the animation completes. This gives you the ability to chain animations sequentially. Note the call to load()
. This makes sure the image is loaded before fading back in (Thanks to Y. Shoham).
Here's a working example
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…