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>