sholby schrieb:
> Hello,
> 
> I've added an effect to make the pages fade when i click on some other  
> internal link, like this:
> 
>       $("a").not(".external").click(function() {
>               var url=this.href;
>               
>               // fade effect
>               $("#contenu").fadeOut("slow",function() {
>                       document.location.href=url;
>               });
>               return false;
>       });
> 
> This works in all browsers i've tested (Safari & FF on Mac, IE5.5 on  
> Virtual PC, where it is slow, but that was expected). However, my  
> client says that on IE7, the #contenu div first jumps up by about 20px  
> before it fades out.
> 
> I'm wondering if this is a known issue ?
> 
> (Apparently the type also becomes aliased before the fade completes.)
> 
> I am thinking of removing the function altogether for IE, but i've  
> already removed so much niceties from my layout for that browser that  
> there is barely anything left...
> 
> Thanks for any advice!
> 
> Best regards,
> 

My guess at that: Animations have to trigger hasLayout in IE (to make 
fade work). Rendering can pretty much differ with layout on/off, for 
example do vertical margins no longer collapse sometimes and this may be 
the case here.

So when the animation starts, layout is triggered, the margins suddenly 
do not collapse any longer, resulting in the jumps.

Try removing margins for that element. You could also trigger layout by 
default: width, height, zoom for example trigger hasLayout.

More on hasLayout:
http://www.satzansatz.de/cssd/onhavinglayout.html


-- Klaus


_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/

Reply via email to