I do not think that live () is required for this situation. I would not use fadeout on the mouseleave function, because the animation will add up.
You can also try the following:
$( function() { $("#imglink").hover( function () { $(this).attr('small',$(this).html()); $(this).stop(false,true).fadeOut(250,function() { $(this).html($(this).attr('full')); $(this).stop(false,true).fadeIn(250); }); }, function () { $(this).html($(this).attr('small')); }); });
Edit: The flicker effect is fixed using the span tag around the anchor tag: Demo: http://jsfiddle.net/LYjvp/1/
source share