[jQuery] Accordion implementation
Gday
I sent this post earlier but I guess it got lost...so I'll try again...
To anyone who is interested (John I don't know if you'll read this but I
hope you do!). I found a way to fix the accordian flicker problem in IE6 (I
can't test other versions of IE but I can imagine it's the same). It seems
(after lots of trial and error) that the IE6 has a rendering problem on the
rare case when overflow is hidden, display is block and height is 0px. It
seems to just leave white space of the area which the content would fill
ignoring the overflow setting. (And thus causes flickering at beginning and
end of animation)
The only work around is modifying fx (which is why I hope John is reading
this) We need to change the z.show and z.hide to the following:
z.show = function(){ z.ss("block"); z.o.auto=true;z.custom(1,z.max());};
z.hide =
function(){z.el.$o=$.getCSS(z.el,"overflow");z.el["io"+ty]=this.cur();z.cust
om(z.cur(),1);};
Basically animating runs to 1px rather than 0px...then in z.step
if(y.height=="1px"||y.width=="1px") z.ss("none");
This works on both Firefox and IE6 and no flicker...however it doesn't solve
stopping the extra clicks. Can the extra clicks be resolved by doing some
sort of "oneclick" function that keeps resetting itself after the show has
finished?
Anyway hope this helps make Jquery even better (which is hard cause it is
sooo good)...
Kent
_______________________________________________
jQuery mailing list
discuss@jquery.com
http://jquery.com/discuss/