Thanks.

I did that:

        <script type="text/javascript">
                $(document).ready(function () {
                        $("ul.LvlOne 
li:has(ul)").bind("mouseenter",function(event){
                                $("ul.LvlTwo").slideToggle('medium');
                        });
                        $("ul.LvlOne 
li:has(ul)").bind("mouseleave",function(event){
                                setTimeout(function () {
                                        $("ul.LvlTwo").slideToggle('medium');
                                }, 2000);
                        });
                });
        </script>

Even with 4 second or longer delay it starts flashing at some point.

It actually became worse, because now you have 2 seconds to get your
mouse cursor back to where menu is supposed to be so you have even
more chances for the menu to start jumping up and down, closed -
open...

Perhaps there should be somekind of doublecheck at mouseleave event
that checks if the mouseenter on same element havent fired already?

Alan.

On Jun 2, 8:33 pm, Gustavo Salomé <[email protected]> wrote:
> Try the setTimeout function
>
> 2009/6/2 zayatzz <[email protected]>
>
>
>
>
>
> > Hello
>
> > Is it possible to mouseleave event have some kind of delay inserted
> > into it?
>
> > I have this small script, which is working just fine :
>
> >        <script type="text/javascript">
> >                $(document).ready(function () {
> >                        $("ul.LvlOne
> > li:has(ul)").bind("mouseenter",function(event){
> >                                $("ul.LvlTwo").slideToggle('medium');
> >                        });
> >                        $("ul.LvlOne
> > li:has(ul)").bind("mouseleave",function(event){
> >                                $("ul.LvlTwo").slideToggle('medium');
> >                        });
> >                });
> >        </script>
>
> > The problem is that the menu that opens is quite long and visitors of
> > the site (me among them) move cursor down where menu is supposed to
> > end up when its fully opened, but since the menu has not reached this
> > far, the mouseleave event fires. When computer or browser is slow you
> > can see even stranger thing.
>
> > Menu gets mouseleave event and starts closing, but not before menu
> > reaches the cursor. That means the menu gets mouseleave, then
> > mouseenter, does not reach cursor before mouseleave event fires, then
> > gets mouseenter again and keeps closing/opening/closing/opening/
> > closing/opening forever.
>
> > So what i want to know, if it is possible to insert some kind of
> > delays or doublechecks into the system to stop this kind of stuff from
> > happening or should i just tell everybody to slow down their mouse
> > movement?
>
> > Alan
>
> --
> Gustavo Salome Silva

Reply via email to