1
(function($) {
2
3
$.fn.menuAim = function(opts) {
4
this.each(function() {
5
init.call(this, opts);
6
});
7
8
return this;
9
};
10
11
function init(opts) {
12
var $menu = $(this),
13
activeRow = null,
14
mouseLocs = [],
15
lastDelayLoc = null,
16
timeoutId = null,
17
options = $.extend({
18
rowSelector: "> li",
19
submenuSelector: "*",
20
submenuDirection: "right",
21
tolerance: 75,
22
enter: $.noop,
23
exit: $.noop,
24
activate: $.noop,
25
deactivate: $.noop,
26
exitMenu: $.noop
27
}, opts);
28
29
var MOUSE_LOCS_TRACKED = 3,
30
DELAY = 300;
31
32
var mousemoveDocument = function(e) {
33
mouseLocs.push({x: e.pageX, y: e.pageY});
34
35
if (mouseLocs.length > MOUSE_LOCS_TRACKED) {
36
mouseLocs.shift();
37
}
38
};
39
40
var mouseleaveMenu = function() {
...
</html>