Hey Brian,

Great work! I have an immediate application for this and once it's a plugin
will use it for jdMenu (http://jdsharp.us/code/jQuery/plugins/jdMenu/)! I
never thought about abstracting that behavior out but it is so clean and
simple now. Great work again!

After looking over your code (and fighting myself for feature bloat) I'd
like to suggest the possibility of having two intervals one for mouseover
and one for mouseout. The mouseout delay is very useful for example with
menus when users unintentionally mouseout when moving to a sub-menu.

One other suggestion is adding in support for handling the child node issue
that hover addresses. So if there's a child element of say the LI that
"gains hover" a mouseout for the parent LI won't be fired.

Great work and I look forward to this!

Cheers,
-Jonathan


On 3/13/07, Brian Cherne <[EMAIL PROTECTED]> wrote:

Awesome! Thanks for all the positive feedback everyone! What a way to wake
up in the morning. :)

The next release will have configurable settings for sensitivity and
polling interval. I'll try wrapping the plug-in in a self-calling function,
but the last few times I've done that I got JavaScript errors. Is there some
trick to it?

Brian.

On 3/13/07, Brandon Aaron <[EMAIL PROTECTED]> wrote:
>
> Very nice. I believe this will be getting a fair amount of usage!
>
> > - ability to override default settings (sensitivity, polling interval,
> etc)
> This would be great and probably should be done by passing an options
> hash as the third argument. Usually options as passed as the first
> argument in plugins but it makes sense to be the third in this case.
>
> I would imagine it looking something like this:
>
> jQuery.fn.hoverIntent = function(f,g,o) {
> o = jQuery.extend({ sensitivity: 4, interval: 100 }, o || {});
> ...
> };
>
>
> > - make it more jQuery $-friendly (first few attempts have failed)
> As already mentioned by Klaus, you can force block scope by wraping
> your code in the following self calling function.
>
> (function($) {
>     ...
> })(jQuery);
>
> --
> Brandon Aaron
>
> On 3/13/07, Brian Cherne <[EMAIL PROTECTED]> wrote:
> > WHAT?
> > hoverIntent is a function that attempts to determine the user's
> intent...
> > like a crystal ball, only with mouse movement! It works like (and was
> > derived from) jQuery's built-in hover. However, instead of immediately
>
> > calling the onMouseOver function, it waits until the user's mouse
> slows down
> > enough before calling the function.
> >
> > WHERE?
> > My sorely out-dated web site.
> > < http://cherne.net/brian/resources/jquery.hoverIntent.html
> > >
> >
> > WHY?
> > To delay or prevent the accidental firing of animations or ajax calls.
> > Simple timers work for small areas, but if your target area is large
> it may
> > execute regardless of intent. Also, because jQuery animations cannot
> be
> > stopped once they've started it's best not to start them prematurely.
> ...
> > and I wanted something that was easy to swap in/out with hover (so
> > hoverIntent returns the same "this" and event objects as hover).
> >
> > WHAT'S NEXT?
> > Your feedback! Tear it shreds! Tell me what you think. I would like to
> keep
> > the script as small as possible, but if I could make this more useful
> (and
> > more likely to be used) I'm happy to make some enhancements... like...
> > - more compelling/verbose demo/documentation
> > - ability to override default settings (sensitivity, polling interval,
> etc)
> > - option of a simple onMouseOut timer
> > - make it more jQuery $-friendly (first few attempts have failed)
> > - suggestions for code style/commenting/optimization
> >
> >
> > Thanks in advance,
> > Brian.
> >
> > _______________________________________________
> > jQuery mailing list
> > [email protected]
> > http://jquery.com/discuss/
> >
> >
>
> _______________________________________________
> jQuery mailing list
> [email protected]
> http://jquery.com/discuss/
>


_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/


_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/

Reply via email to