-
Notifications
You must be signed in to change notification settings - Fork 38
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Item12519: upgraded superfish, supersubs and hoverIntent to latest ve…
…rsions git-svn-id: http://svn.foswiki.org/branches/Release01x01@16771 0b4bb1d4-4e5a-0410-9cc4-b2b747904278
- Loading branch information
MichaelDaum
authored and
MichaelDaum
committed
May 30, 2013
1 parent
77e6d63
commit ec93f52
Showing
18 changed files
with
926 additions
and
835 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
196 changes: 102 additions & 94 deletions
196
JQueryPlugin/pub/System/JQueryPlugin/plugins/hoverintent/jquery.hoverIntent.uncompressed.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,106 +1,114 @@ | ||
/** | ||
* hoverIntent is similar to jQuery's built-in "hover" function except that | ||
* instead of firing the onMouseOver event immediately, hoverIntent checks | ||
* to see if the user's mouse has slowed down (beneath the sensitivity | ||
* threshold) before firing the onMouseOver event. | ||
* | ||
* hoverIntent r6 // 2011.02.26 // jQuery 1.5.1+ | ||
* <http://cherne.net/brian/resources/jquery.hoverIntent.html> | ||
* | ||
* hoverIntent is currently available for use in all personal or commercial | ||
* projects under both MIT and GPL licenses. This means that you can choose | ||
* the license that best suits your project, and use it accordingly. | ||
* | ||
* // basic usage (just like .hover) receives onMouseOver and onMouseOut functions | ||
* $("ul li").hoverIntent( showNav , hideNav ); | ||
* | ||
* // advanced usage receives configuration object only | ||
* $("ul li").hoverIntent({ | ||
* sensitivity: 7, // number = sensitivity threshold (must be 1 or higher) | ||
* interval: 100, // number = milliseconds of polling interval | ||
* over: showNav, // function = onMouseOver callback (required) | ||
* timeout: 0, // number = milliseconds delay before onMouseOut function call | ||
* out: hideNav // function = onMouseOut callback (required) | ||
* }); | ||
* | ||
* @param f onMouseOver function || An object with configuration options | ||
* @param g onMouseOut function || Nothing (use configuration options object) | ||
* @author Brian Cherne brian(at)cherne(dot)net | ||
*/ | ||
* hoverIntent is similar to jQuery's built-in "hover" method except that | ||
* instead of firing the handlerIn function immediately, hoverIntent checks | ||
* to see if the user's mouse has slowed down (beneath the sensitivity | ||
* threshold) before firing the event. The handlerOut function is only | ||
* called after a matching handlerIn. | ||
* | ||
* hoverIntent r7 // 2013.03.11 // jQuery 1.9.1+ | ||
* http://cherne.net/brian/resources/jquery.hoverIntent.html | ||
* | ||
* You may use hoverIntent under the terms of the MIT license. Basically that | ||
* means you are free to use hoverIntent as long as this header is left intact. | ||
* Copyright 2007, 2013 Brian Cherne | ||
* | ||
* // basic usage ... just like .hover() | ||
* .hoverIntent( handlerIn, handlerOut ) | ||
* .hoverIntent( handlerInOut ) | ||
* | ||
* // basic usage ... with event delegation! | ||
* .hoverIntent( handlerIn, handlerOut, selector ) | ||
* .hoverIntent( handlerInOut, selector ) | ||
* | ||
* // using a basic configuration object | ||
* .hoverIntent( config ) | ||
* | ||
* @param handlerIn function OR configuration object | ||
* @param handlerOut function OR selector for delegation OR undefined | ||
* @param selector selector OR undefined | ||
* @author Brian Cherne <brian(at)cherne(dot)net> | ||
**/ | ||
(function($) { | ||
$.fn.hoverIntent = function(f,g) { | ||
// default configuration options | ||
var cfg = { | ||
sensitivity: 7, | ||
interval: 100, | ||
timeout: 0 | ||
}; | ||
// override configuration options with user supplied object | ||
cfg = $.extend(cfg, g ? { over: f, out: g } : f ); | ||
$.fn.hoverIntent = function(handlerIn,handlerOut,selector) { | ||
|
||
// instantiate variables | ||
// cX, cY = current X and Y position of mouse, updated by mousemove event | ||
// pX, pY = previous X and Y position of mouse, set by mouseover and polling interval | ||
var cX, cY, pX, pY; | ||
// default configuration values | ||
var cfg = { | ||
interval: 100, | ||
sensitivity: 7, | ||
timeout: 0 | ||
}; | ||
|
||
// A private function for getting mouse position | ||
var track = function(ev) { | ||
cX = ev.pageX; | ||
cY = ev.pageY; | ||
}; | ||
if ( typeof handlerIn === "object" ) { | ||
cfg = $.extend(cfg, handlerIn ); | ||
} else if ($.isFunction(handlerOut)) { | ||
cfg = $.extend(cfg, { over: handlerIn, out: handlerOut, selector: selector } ); | ||
} else { | ||
cfg = $.extend(cfg, { over: handlerIn, out: handlerIn, selector: handlerOut } ); | ||
} | ||
|
||
// A private function for comparing current and previous mouse position | ||
var compare = function(ev,ob) { | ||
ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); | ||
// compare mouse positions to see if they've crossed the threshold | ||
if ( ( Math.abs(pX-cX) + Math.abs(pY-cY) ) < cfg.sensitivity ) { | ||
$(ob).unbind("mousemove",track); | ||
// set hoverIntent state to true (so mouseOut can be called) | ||
ob.hoverIntent_s = 1; | ||
return cfg.over.apply(ob,[ev]); | ||
} else { | ||
// set previous coordinates for next time | ||
pX = cX; pY = cY; | ||
// use self-calling timeout, guarantees intervals are spaced out properly (avoids JavaScript timer bugs) | ||
ob.hoverIntent_t = setTimeout( function(){compare(ev, ob);} , cfg.interval ); | ||
} | ||
}; | ||
// instantiate variables | ||
// cX, cY = current X and Y position of mouse, updated by mousemove event | ||
// pX, pY = previous X and Y position of mouse, set by mouseover and polling interval | ||
var cX, cY, pX, pY; | ||
|
||
// A private function for delaying the mouseOut function | ||
var delay = function(ev,ob) { | ||
ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); | ||
ob.hoverIntent_s = 0; | ||
return cfg.out.apply(ob,[ev]); | ||
}; | ||
// A private function for getting mouse position | ||
var track = function(ev) { | ||
cX = ev.pageX; | ||
cY = ev.pageY; | ||
}; | ||
|
||
// A private function for handling mouse 'hovering' | ||
var handleHover = function(e) { | ||
// copy objects to be passed into t (required for event object to be passed in IE) | ||
var ev = jQuery.extend({},e); | ||
var ob = this; | ||
// A private function for comparing current and previous mouse position | ||
var compare = function(ev,ob) { | ||
ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); | ||
// compare mouse positions to see if they've crossed the threshold | ||
if ( ( Math.abs(pX-cX) + Math.abs(pY-cY) ) < cfg.sensitivity ) { | ||
$(ob).off("mousemove.hoverIntent",track); | ||
// set hoverIntent state to true (so mouseOut can be called) | ||
ob.hoverIntent_s = 1; | ||
return cfg.over.apply(ob,[ev]); | ||
} else { | ||
// set previous coordinates for next time | ||
pX = cX; pY = cY; | ||
// use self-calling timeout, guarantees intervals are spaced out properly (avoids JavaScript timer bugs) | ||
ob.hoverIntent_t = setTimeout( function(){compare(ev, ob);} , cfg.interval ); | ||
} | ||
}; | ||
|
||
// cancel hoverIntent timer if it exists | ||
if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); } | ||
// A private function for delaying the mouseOut function | ||
var delay = function(ev,ob) { | ||
ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); | ||
ob.hoverIntent_s = 0; | ||
return cfg.out.apply(ob,[ev]); | ||
}; | ||
|
||
// if e.type == "mouseenter" | ||
if (e.type == "mouseenter") { | ||
// set "previous" X and Y position based on initial entry point | ||
pX = ev.pageX; pY = ev.pageY; | ||
// update "current" X and Y position based on mousemove | ||
$(ob).bind("mousemove",track); | ||
// start polling interval (self-calling timeout) to compare mouse coordinates over time | ||
if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout( function(){compare(ev,ob);} , cfg.interval );} | ||
// A private function for handling mouse 'hovering' | ||
var handleHover = function(e) { | ||
// copy objects to be passed into t (required for event object to be passed in IE) | ||
var ev = jQuery.extend({},e); | ||
var ob = this; | ||
|
||
// else e.type == "mouseleave" | ||
} else { | ||
// unbind expensive mousemove event | ||
$(ob).unbind("mousemove",track); | ||
// if hoverIntent state is true, then call the mouseOut function after the specified delay | ||
if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout( function(){delay(ev,ob);} , cfg.timeout );} | ||
} | ||
}; | ||
// cancel hoverIntent timer if it exists | ||
if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); } | ||
|
||
// bind the function to the two event listeners | ||
return this.bind('mouseenter',handleHover).bind('mouseleave',handleHover); | ||
}; | ||
// if e.type == "mouseenter" | ||
if (e.type == "mouseenter") { | ||
// set "previous" X and Y position based on initial entry point | ||
pX = ev.pageX; pY = ev.pageY; | ||
// update "current" X and Y position based on mousemove | ||
$(ob).on("mousemove.hoverIntent",track); | ||
// start polling interval (self-calling timeout) to compare mouse coordinates over time | ||
if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout( function(){compare(ev,ob);} , cfg.interval );} | ||
|
||
// else e.type == "mouseleave" | ||
} else { | ||
// unbind expensive mousemove event | ||
$(ob).off("mousemove.hoverIntent",track); | ||
// if hoverIntent state is true, then call the mouseOut function after the specified delay | ||
if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout( function(){delay(ev,ob);} , cfg.timeout );} | ||
} | ||
}; | ||
|
||
// listen for mouseenter and mouseleave | ||
return this.on({'mouseenter.hoverIntent':handleHover,'mouseleave.hoverIntent':handleHover}, cfg.selector); | ||
}; | ||
})(jQuery); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file removed
BIN
-832 Bytes
JQueryPlugin/pub/System/JQueryPlugin/plugins/superfish/MenuArrow.gif
Binary file not shown.
Binary file removed
BIN
-244 Bytes
JQueryPlugin/pub/System/JQueryPlugin/plugins/superfish/MenuArrow.png
Binary file not shown.
Binary file removed
BIN
-1.66 KB
JQueryPlugin/pub/System/JQueryPlugin/plugins/superfish/MenuShadow.png
Binary file not shown.
Oops, something went wrong.