PageSourceSearch

https://admin.tracker.com/WebResource.axd?d=lZnyiAmC0C7hvKfhMhxEZC…pDRE0celKq4CHeJtLgKUB0&t=639232529360000000

js tracker.com collected 2026-09-24 12:11:16 UTC 14,965 bytes, 345 lines download raw bytes

vendor: 5,960 bytes, lines 1-140
1/*!
2* hoverIntent r7 // 2013.03.11 // jQuery 1.9.1+
3* http://cherne.net/brian/resources/jquery.hoverIntent.html
4*
5* You may use hoverIntent under the terms of the MIT license. Basically that
6* means you are free to use hoverIntent as long as this header is left intact.
7* Copyright 2007, 2013 Brian Cherne
8*/
9
10/* hoverIntent is similar to jQuery's built-in "hover" method except that
11* instead of firing the handlerIn function immediately, hoverIntent checks
12* to see if the user's mouse has slowed down (beneath the sensitivity
13* threshold) before firing the event. The handlerOut function is only
14* called after a matching handlerIn.
15*
16* // basic usage ... just like .hover()
17* .hoverIntent( handlerIn, handlerOut )
18* .hoverIntent( handlerInOut )
19*
20* // basic usage ... with event delegation!
21* .hoverIntent( handlerIn, handlerOut, selector )
22* .hoverIntent( handlerInOut, selector )
23*
24* // using a basic configuration object
25* .hoverIntent( config )
26*
27* @param  handlerIn   function OR configuration object
28* @param  handlerOut  function OR selector for delegation OR undefined
29* @param  selector    selector OR undefined
30* @author Brian Cherne <brian(at)cherne(dot)net>
31*/
32(function ($) {
33    $.fn.hoverIntent = function (handlerIn, handlerOut, selector) {
34
35        // default configuration values
36        var cfg = {
37            interval: 100,
38            sensitivity: 7,
39            timeout: 0
40        };
41
42        if (typeof handlerIn === "object") {
43            cfg = $.extend(cfg, handlerIn);
44        } else if ($.isFunction(handlerOut)) {
45            cfg = $.extend(cfg, { over: handlerIn, out: handlerOut, selector: selector });
46        } else {
47            cfg = $.extend(cfg, { over: handlerIn, out: handlerIn, selector: handlerOut });
48        }
49
50        // instantiate variables
51        // cX, cY = current X and Y position of mouse, updated by mousemove event
52        // pX, pY = previous X and Y position of mouse, set by mouseover and polling interval
53        var cX, cY, pX, pY;
54
55        // A private function for getting mouse position
56        var track = function (ev) {
57            cX = ev.pageX;
58            cY = ev.pageY;
59        };
60
61        // A private function for comparing current and previous mouse position
62        var compare = function (ev, ob) {
63            ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
64            // compare mouse positions to see if they've crossed the threshold
65            if ((Math.abs(pX - cX) + Math.abs(pY - cY)) < cfg.sensitivity) {
66                $(ob).off("mousemove.hoverIntent", track);
67                // set hoverIntent state to true (so mouseOut can be called)
68                ob.hoverIntent_s = 1;
69                return cfg.over.apply(ob, [ev]);
70            } else {
71                // set previous coordinates for next time
72                pX = cX; pY = cY;
73                // use self-calling timeout, guarantees intervals are spaced out properly (avoids JavaScript timer bugs)
74                ob.hoverIntent_t = setTimeout(function () { compare(ev, ob); }, cfg.interval);
75            }
76        };
77
78        // A private function for delaying the mouseOut function
79        var delay = function (ev, ob) {
80            ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
81            ob.hoverIntent_s = 0;
82            return cfg.out.apply(ob, [ev]);
83        };
84
85        // A private function for handling mouse 'hovering'
86        var handleHover = function (e) {
87            // copy objects to be passed into t (required for event object to be passed in IE)
88            var ev = jQuery.extend({}, e);
89            var ob = this;
90
91            // cancel hoverIntent timer if it exists
92            if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); }
93
94            // if e.type == "mouseenter"
95            if (e.type == "mouseenter") {
96                // set "previous" X and Y position based on initial entry point
97                pX = ev.pageX; pY = ev.pageY;
98                // update "current" X and Y position based on mousemove
99                $(ob).on("mousemove.hoverIntent", track);
100                // start polling interval (self-calling timeout) to compare mouse coordinates over time
101                if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout(function () { compare(ev, ob); }, cfg.interval); }
102
103                // else e.type == "mouseleave"
104            } else {
105                // unbind expensive mousemove event
106                $(ob).off("mousemove.hoverIntent", track);
107                // if hoverIntent state is true, then call the mouseOut function after the specified delay
108                if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout(function () { delay(ev, ob); }, cfg.timeout); }
109            }
110        };
111
112        // listen for mouseenter and mouseleave
113        return this.on({ 'mouseenter.hoverIntent': handleHover, 'mouseleave.hoverIntent': handleHover }, cfg.selector);
114    };
115})(jQuery);
116
117
118/*
119* jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
120*
121* Uses the built in easing capabilities added In jQuery 1.1
122* to offer multiple easing options
123*
124* TERMS OF USE - jQuery Easing
125*
126* Open source under the BSD License.
127*
128* Copyright © 2008 George McGinley Smith
129* All rights reserved.
130*
131* Redistribution and use in source and binary forms, with or without modification,
132* are permitted provided that the following conditions are met:
133*
134* Redistributions of source code must retain the above copyright notice, this list of
135* conditions and the following disclaimer.
136* Redistributions in binary form must reproduce the above copyright notice, this list
137* of conditions and the following disclaimer in the documentation and/or other materials
138* provided with the distribution.
139*
140* Neither the name of the author nor the names of contributors may be used to endorse
141* or promote products derived from this software without specific prior written permission.
142*
143* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
144* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
145* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
146* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
147* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
148* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
149* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
150* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
151* OF THE POSSIBILITY OF SUCH DAMAGE.
152*
153*/
154
155// t: current time, b: begInnIng value, c: change In value, d: duration
156jQuery.easing['jswing'] = jQuery.easing['swing'];
157
158jQuery.extend(jQuery.easing,
159{
160    def: 'easeOutQuad',
161    swing: function (x, t, b, c, d) {
162        //alert(jQuery.easing.default);
163        return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
164    },
165    easeInQuad: function (x, t, b, c, d) {
166        return c * (t /= d) * t + b;
167    },
168    easeOutQuad: function (x, t, b, c, d) {
169        return -c * (t /= d) * (t - 2) + b;
170    },
171    easeInOutQuad: function (x, t, b, c, d) {
172        if ((t /= d / 2) < 1) return c / 2 * t * t + b;
173        return -c / 2 * ((--t) * (t - 2) - 1) + b;
174    },
175    easeInCubic: function (x, t, b, c, d) {
176        return c * (t /= d) * t * t + b;
177    },
178    easeOutCubic: function (x, t, b, c, d) {
179        return c * ((t = t / d - 1) * t * t + 1) + b;
180    },
181    easeInOutCubic: function (x, t, b, c, d) {
182        if ((t /= d / 2) < 1) return c / 2 * t * t * t + b;
183        return c / 2 * ((t -= 2) * t * t + 2) + b;
184    },
185    easeInQuart: function (x, t, b, c, d) {
186        return c * (t /= d) * t * t * t + b;
187    },
188    easeOutQuart: function (x, t, b, c, d) {
189        return -c * ((t = t / d - 1) * t * t * t - 1) + b;
190    },
191    easeInOutQuart: function (x, t, b, c, d) {
192        if ((t /= d / 2) < 1) return c / 2 * t * t * t * t + b;
193        return -c / 2 * ((t -= 2) * t * t * t - 2) + b;
194    },
195    easeInQuint: function (x, t, b, c, d) {
196        return c * (t /= d) * t * t * t * t + b;
197    },
198    easeOutQuint: function (x, t, b, c, d) {
199        return c * ((t = t / d - 1) * t * t * t * t + 1) + b;
200    },
201    easeInOutQuint: function (x, t, b, c, d) {
202        if ((t /= d / 2) < 1) return c / 2 * t * t * t * t * t + b;
203        return c / 2 * ((t -= 2) * t * t * t * t + 2) + b;
204    },
205    easeInSine: function (x, t, b, c, d) {
206        return -c * Math.cos(t / d * (Math.PI / 2)) + c + b;
207    },
208    easeOutSine: function (x, t, b, c, d) {
209        return c * Math.sin(t / d * (Math.PI / 2)) + b;
210    },
211    easeInOutSine: function (x, t, b, c, d) {
212        return -c / 2 * (Math.cos(Math.PI * t / d) - 1) + b;
213    },
214    easeInExpo: function (x, t, b, c, d) {
215        return (t == 0) ? b : c * Math.pow(2, 10 * (t / d - 1)) + b;
216    },
217    easeOutExpo: function (x, t, b, c, d) {
218        return (t == d) ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b;
219    },
220    easeInOutExpo: function (x, t, b, c, d) {
221        if (t == 0) return b;
222        if (t == d) return b + c;
223        if ((t /= d / 2) < 1) return c / 2 * Math.pow(2, 10 * (t - 1)) + b;
224        return c / 2 * (-Math.pow(2, -10 * --t) + 2) + b;
225    },
226    easeInCirc: function (x, t, b, c, d) {
227        return -c * (Math.sqrt(1 - (t /= d) * t) - 1) + b;
228    },
229    easeOutCirc: function (x, t, b, c, d) {
230        return c * Math.sqrt(1 - (t = t / d - 1) * t) + b;
231    },
232    easeInOutCirc: function (x, t, b, c, d) {
233        if ((t /= d / 2) < 1) return -c / 2 * (Math.sqrt(1 - t * t) - 1) + b;
234        return c / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1) + b;
235    },
236    easeInElastic: function (x, t, b, c, d) {
237        var s = 1.70158; var p = 0; var a = c;
238        if (t == 0) return b; if ((t /= d) == 1) return b + c; if (!p) p = d * .3;
239        if (a < Math.abs(c)) { a = c; var s = p / 4; }
240        else var s = p / (2 * Math.PI) * Math.asin(c / a);
241        return -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b;
242    },
243    easeOutElastic: function (x, t, b, c, d) {
244        var s = 1.70158; var p = 0; var a = c;
245        if (t == 0) return b; if ((t /= d) == 1) return b + c; if (!p) p = d * .3;
246        if (a < Math.abs(c)) { a = c; var s = p / 4; }
247        else var s = p / (2 * Math.PI) * Math.asin(c / a);
248        return a * Math.pow(2, -10 * t) * Math.sin((t * d - s) * (2 * Math.PI) / p) + c + b;
249    },
250    easeInOutElastic: function (x, t, b, c, d) {
251        var s = 1.70158; var p = 0; var a = c;
252        if (t == 0) return b; if ((t /= d / 2) == 2) return b + c; if (!p) p = d * (.3 * 1.5);
253        if (a < Math.abs(c)) { a = c; var s = p / 4; }
254        else var s = p / (2 * Math.PI) * Math.asin(c / a);
255        if (t < 1) return -.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b;
256        return a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p) * .5 + c + b;
257    },
258    easeInBack: function (x, t, b, c, d, s) {
259        if (s == undefined) s = 1.70158;
260        return c * (t /= d) * t * ((s + 1) * t - s) + b;
261    },
262    easeOutBack: function (x, t, b, c, d, s) {
263        if (s == undefined) s = 1.70158;
264        return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b;
265    },
266    easeInOutBack: function (x, t, b, c, d, s) {
267        if (s == undefined) s = 1.70158;
268        if ((t /= d / 2) < 1) return c / 2 * (t * t * (((s *= (1.525)) + 1) * t - s)) + b;
269        return c / 2 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2) + b;
270    },
271    easeInBounce: function (x, t, b, c, d) {
272        return c - jQuery.easing.easeOutBounce(x, d - t, 0, c, d) + b;
273    },
274    easeOutBounce: function (x, t, b, c, d) {
275        if ((t /= d) < (1 / 2.75)) {
276            return c * (7.5625 * t * t) + b;
277        } else if (t < (2 / 2.75)) {
278            return c * (7.5625 * (t -= (1.5 / 2.75)) * t + .75) + b;
279        } else if (t < (2.5 / 2.75)) {
280            return c * (7.5625 * (t -= (2.25 / 2.75)) * t + .9375) + b;
281        } else {
282            return c * (7.5625 * (t -= (2.625 / 2.75)) * t + .984375) + b;
283        }
284    },
285    easeInOutBounce: function (x, t, b, c, d) {
286        if (t < d / 2) return jQuery.easing.easeInBounce(x, t * 2, 0, c, d) * .5 + b;
287        return jQuery.easing.easeOutBounce(x, t * 2 - d, 0, c, d) * .5 + c * .5 + b;
288    }
289});
290
291/**
292* plugin: jquery.naviDropDown.js
293* author: KT Cheung
294* website: www.mashedcreative.com
295* description: simple jquery navigation drop down menu with easing and hoverIntent
296**/
297
298(function ($) {
299
300    $.fn.naviDropDown = function (options) {
301
302        //set up default options
303        var defaults = {
304            dropDownClass: 'dropdown', //the class name for your drop down
305            dropDownWidth: 'auto', //the default width of drop down elements
306            slideDownEasing: 'easeInOutCirc', //easing method for slideDown
307            slideUpEasing: 'easeInOutCirc', //easing method for slideUp
308            slideDownDuration: 500, //easing duration for slideDown
309            slideUpDuration: 500, //easing duration for slideUp
310            orientation: 'horizontal' //orientation - either 'horizontal' or 'vertical'
311        };
312
313        var opts = $.extend({}, defaults, options);
314
315        return this.each(function () {
316            var $this = $(this);
317            $this.find('.' + opts.dropDownClass).css('width', opts.dropDownWidth).css('display', 'none');
318
319            var buttonWidth = $this.find('.' + opts.dropDownClass).parent().width() + 'px';
320            var buttonHeight = $this.find('.' + opts.dropDownClass).parent().height() + 'px';
321            if (opts.orientation == 'horizontal') {
322                $this.find('.' + opts.dropDownClass).css('left', '0px').css('top', buttonHeight);
323            }
324            if (opts.orientation == 'vertical') {
325                $this.find('.' + opts.dropDownClass).css('left', buttonWidth).css('top', '0px');
326            }
327
328            $this.find('div.ctxmenu_item').hoverIntent(getDropDown, hideDropDown);
329        });
330
331        function getDropDown() {
332            activeNav = $(this);
333            showDropDown();
334        }
335
336        function showDropDown() {
337            activeNav.find('.' + opts.dropDownClass).slideDown({ duration: opts.slideDownDuration, easing: opts.slideDownEasing });
338        }
339
340        function hideDropDown() {
341            activeNav.find('.' + opts.dropDownClass).slideUp({ duration: opts.slideUpDuration, easing: opts.slideUpEasing }); //hides the current dropdown
342        }
343
344    };
345})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.