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/

Reply via email to