The hoverIntent plugin was meant just for this purpose. There's an initial
delay (unavoidable) but if the user's mouse slows down significantly the
hover event will fire... if their mouse continues moving the hover event is
again delayed (and rechecked). It was originally conceived for when you have
a grid of large hover-able items... where a simple delay might be
awkward/misleading, but not to prolong the delay if the user rests their
mouse over an item.

<http://cherne.net/brian/resources/jquery.hoverIntent.html>

Brian.

On Tue, Apr 21, 2009 at 9:29 AM, mkmanning <michaell...@gmail.com> wrote:

>
> From a user-interaction standpoint, you might want to rethink the
> amount of time you delay. Obviously I don't know your specific
> situation, so maybe there's a very strong indicator to the user to
> wait for the effect. If there isn't, just beware that while you know
> what's supposed to happen when you hover, a user won't and 2 seconds
> is a LONG time in terms of user interactivity (it seems long even when
> you do know something will happen--user impatience with UI behavior is
> very short). Check out Amazon.com's top nav (the little down arrows)
> for an example of a short delay (something like 400ms).
>
> HTH :)
>
> On Apr 20, 3:33 pm, geocalleo <gcalde...@gmail.com> wrote:
> > Hi all, I was wondering if there is a way in jQuery for me to disable
> > a hover event for a few seconds and then execute it only if the mouse
> > pointer is still hovering over the particular element I have set the
> > hover event to.
> >
> > So the user would hover over a link and if after 2 seconds was still
> > hovering over it, the hover event would then execute. Otherwise,
> > nothing would happen.
> >
> > I've been trying to find out about it for sometime now but I am
> > exhausted with searching.
> >
> > Thanks.
>

Reply via email to