On 13/03/2007, at 6:15 PM, Joel Birch wrote: > On 13/03/2007, at 6:00 PM, John W wrote: >> Thanks for the reply Joel. The jdmenu (current beta version) is >> employing the >> bgiframe to compensate for this same issue. Basically you bind the >> bgiclass >> to an element like a div or in the case of an ordered list to the >> the UL >> tag. It then applies an iframe only for IE6. I was able to make it >> work but >> it seems to really slow down the menu but I dont think Im >> implementing it >> right within the code. I really like your menu because its less >> code, its >> fast and smooth. > > I just updated my dodgy test page (apologies for no good > documentation or proper demo page... one day) to include select > boxes. I implemented the bgiframe plugin and experimented a bit. > http://users.tpg.com.au/j_birch/plugins/superfish/ > > 1. Fade animations do not work correctly in IE6 with bgiframe > attached, but slides do. > > 2. There was a lag when hovering li elements that contained a ul > (with iframe attached). > > I have altered the superfish plugin so the defaults are now: > var defaults = { > hoverClass : "sfHover", > delay : 500, > animation : {opacity:"show"}, > speed : "normal", > bgiframe : false > }; > > Notice the new bgiframe property. If you set that to true you must > also ensure that the bgiframe is available. Then I altered the "over" > function to include this line: > > .each(function(){ if (o.bgiframe && $.browser.msie){ $(this).bgiframe > (); } }) > > ...after finding the ul children. That made the lag (point "2" above) > disappear :) . You inspired that solution with your code earlier, so > thanks very much for that! > > Here's the new code: > http://users.tpg.com.au/j_birch/plugins/superfish/superfish.js > > Is this solution okay do you think? The fades still do not work but > it seems to degrade acceptably anyway. If you really need an > animation for IE6 you could use a fade and a slide (as I have done on > the updated test page) so that at least IE6 gets the slide. > > Cheers > Joel.
I just realised that I have over-thought this. Rather than add that stuff to the superfish plugin, we should just use the bgiframe plugin as intended like this: $.(".nav") .superfish() .find("li[ul]") .bind("mouseover",function(){ $("ul", this).bgiframe(); }); Tested and works (test page now uses this). Do you agree? If so I'll strip out the code I inserted earlier (I'm leaning heavily toward this). Joel. _______________________________________________ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/