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.