(function($){ /* hoverIntent by Brian Cherne */ $.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 ); // 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 getting mouse position var track = function(ev) { cX = ev.pageX; cY = ev.pageY; }; // 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 ); } }; // 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 handling mouse 'hovering' var handleHover = function(e) { // next three lines copied from jQuery.hover, ignore children onMouseOver/onMouseOut var p = (e.type == "mouseover" ? e.fromElement : e.toElement) || e.relatedTarget; while ( p && p != this ) { try { p = p.parentNode; } catch(e) { p = this; } } if ( p == this ) { return false; } // copy objects to be passed into t (required for event object to be passed in IE) var ev = jQuery.extend({},e); var ob = this; // cancel hoverIntent timer if it exists if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); } // else e.type == "onmouseover" if (e.type == "mouseover") { // 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 );} // else e.type == "onmouseout" } 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 );} } }; // bind the function to the two event listeners return this.mouseover(handleHover).mouseout(handleHover); }; })(jQuery); //]]>

Jumat, 17 Juni 2016

Panthers' Ron Rivera signs 3-year, $19.5M extension

The Carolina Panthers have rewarded Ron Rivera for his second NFL Coach of the Year award and a 17-2 record in 2015.
Rivera signed a new three-year, $19.5 million extension, NFL Media Insider Ian Rapoport reported, via a source informed of Rivera's situation. Rivera is now under contract through the 2018 season.
Rapoport added that Rivera's assistants got raises, too.
Joseph Person of the Charlotte Observer first reported the extension.
Panthers general manager Dave Gettleman confirmed Rivera's extension.
"It was an easy decision," Gettleman said. "Ron has worked extremely hard and we are thrilled with our current direction. Mr. Richardson has established a great culture here and Ron is a big part of that."

This is Rivera's second extension since entering the 2013 season on the hot seat and reaching an aggressive football epiphany thatturned his head coaching career around.Although Rivera is among the NFL's highest-paid coaches, he's a relative bargain compared to NFC South rival Sean Payton, who recently signed a five-year extension worth more than $8 million annually.
Despite losing No. 1 receiver Kelvin Benjamin in August of last year, the Panthers became just the fourth team in NFL history to win 14 consecutive games to start a season. Going back to December of 2014, Rivera has led Carolina to 22 wins in 25 games.
Prior to the 2014 season, no NFC South outfit had ever won back-to-back division titles. Rivera'sPanthers have now won the division crown for three consecutive years.
Whereas schisms divide front offices in other cities, Rivera works hand-in-glove with the shrewd Gettleman to turn under-the-radar free agents and afterthought rookies into key contributors.
Beyond his reputation as one of the game's premier defensive strategists, Rivera deserves credit for compiling a top-notch coaching staff, featuring defensive coordinator Sean McDermott, offensive coordinator Mike Shula and the offensive line tandem of John Matsko and Ray Brown.
The coaching awards and contract extensions are testament to how far Rivera has come since beginning his Panthers stint with a 13-21 record and a penchant for letting close games slip away. Three years later, he is deservedly acknowledged as one of the best in the business.

0 komentar:

Posting Komentar