|
|
|
@ -1,5 +1,5 @@ |
|
|
|
|
/*! |
|
|
|
|
* jQuery JavaScript Library v1.10.0 |
|
|
|
|
* jQuery JavaScript Library v1.10.2 |
|
|
|
|
* http://jquery.com/
|
|
|
|
|
* |
|
|
|
|
* Includes Sizzle.js |
|
|
|
@ -9,7 +9,7 @@ |
|
|
|
|
* Released under the MIT license |
|
|
|
|
* http://jquery.org/license
|
|
|
|
|
* |
|
|
|
|
* Date: 2013-05-24T18:39Z |
|
|
|
|
* Date: 2013-07-03T13:48Z |
|
|
|
|
*/ |
|
|
|
|
(function( window, undefined ) { |
|
|
|
|
|
|
|
|
@ -46,7 +46,7 @@ var |
|
|
|
|
// List of deleted data cache ids, so we can reuse them
|
|
|
|
|
core_deletedIds = [], |
|
|
|
|
|
|
|
|
|
core_version = "1.10.0", |
|
|
|
|
core_version = "1.10.2", |
|
|
|
|
|
|
|
|
|
// Save a reference to some core methods
|
|
|
|
|
core_concat = core_deletedIds.concat, |
|
|
|
@ -1000,14 +1000,14 @@ function isArraylike( obj ) { |
|
|
|
|
// All jQuery objects should point back to these
|
|
|
|
|
rootjQuery = jQuery(document); |
|
|
|
|
/*! |
|
|
|
|
* Sizzle CSS Selector Engine v1.9.4-pre |
|
|
|
|
* Sizzle CSS Selector Engine v1.10.2 |
|
|
|
|
* http://sizzlejs.com/
|
|
|
|
|
* |
|
|
|
|
* Copyright 2013 jQuery Foundation, Inc. and other contributors |
|
|
|
|
* Released under the MIT license |
|
|
|
|
* http://jquery.org/license
|
|
|
|
|
* |
|
|
|
|
* Date: 2013-05-15 |
|
|
|
|
* Date: 2013-07-03 |
|
|
|
|
*/ |
|
|
|
|
(function( window, undefined ) { |
|
|
|
|
|
|
|
|
@ -1040,7 +1040,13 @@ var i, |
|
|
|
|
tokenCache = createCache(), |
|
|
|
|
compilerCache = createCache(), |
|
|
|
|
hasDuplicate = false, |
|
|
|
|
sortOrder = function() { return 0; }, |
|
|
|
|
sortOrder = function( a, b ) { |
|
|
|
|
if ( a === b ) { |
|
|
|
|
hasDuplicate = true; |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
return 0; |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
// General-purpose constants
|
|
|
|
|
strundefined = typeof undefined, |
|
|
|
@ -1283,14 +1289,6 @@ function Sizzle( selector, context, results, seed ) { |
|
|
|
|
return select( selector.replace( rtrim, "$1" ), context, results, seed ); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* For feature detection |
|
|
|
|
* @param {Function} fn The function to test for native support |
|
|
|
|
*/ |
|
|
|
|
function isNative( fn ) { |
|
|
|
|
return rnative.test( fn + "" ); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Create key-value caches of limited size |
|
|
|
|
* @returns {Function(string, Object)} Returns the Object data after storing it on itself with |
|
|
|
@ -1344,58 +1342,14 @@ function assert( fn ) { |
|
|
|
|
/** |
|
|
|
|
* Adds the same handler for all of the specified attrs |
|
|
|
|
* @param {String} attrs Pipe-separated list of attributes |
|
|
|
|
* @param {Function} handler The method that will be applied if the test fails |
|
|
|
|
* @param {Boolean} test The result of a test. If true, null will be set as the handler in leiu of the specified handler |
|
|
|
|
* @param {Function} handler The method that will be applied |
|
|
|
|
*/ |
|
|
|
|
function addHandle( attrs, handler, test ) { |
|
|
|
|
attrs = attrs.split("|"); |
|
|
|
|
var current, |
|
|
|
|
i = attrs.length, |
|
|
|
|
setHandle = test ? null : handler; |
|
|
|
|
function addHandle( attrs, handler ) { |
|
|
|
|
var arr = attrs.split("|"), |
|
|
|
|
i = attrs.length; |
|
|
|
|
|
|
|
|
|
while ( i-- ) { |
|
|
|
|
// Don't override a user's handler
|
|
|
|
|
if ( !(current = Expr.attrHandle[ attrs[i] ]) || current === handler ) { |
|
|
|
|
Expr.attrHandle[ attrs[i] ] = setHandle; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Fetches boolean attributes by node |
|
|
|
|
* @param {Element} elem |
|
|
|
|
* @param {String} name |
|
|
|
|
*/ |
|
|
|
|
function boolHandler( elem, name ) { |
|
|
|
|
// XML does not need to be checked as this will not be assigned for XML documents
|
|
|
|
|
var val = elem.getAttributeNode( name ); |
|
|
|
|
return val && val.specified ? |
|
|
|
|
val.value : |
|
|
|
|
elem[ name ] === true ? name.toLowerCase() : null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Fetches attributes without interpolation |
|
|
|
|
* http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
|
|
|
|
|
* @param {Element} elem |
|
|
|
|
* @param {String} name |
|
|
|
|
*/ |
|
|
|
|
function interpolationHandler( elem, name ) { |
|
|
|
|
// XML does not need to be checked as this will not be assigned for XML documents
|
|
|
|
|
return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Uses defaultValue to retrieve value in IE6/7 |
|
|
|
|
* @param {Element} elem |
|
|
|
|
* @param {String} name |
|
|
|
|
*/ |
|
|
|
|
function valueHandler( elem ) { |
|
|
|
|
// Ignore the value *property* on inputs by using defaultValue
|
|
|
|
|
// Fallback to Sizzle.attr by returning undefined where appropriate
|
|
|
|
|
// XML does not need to be checked as this will not be assigned for XML documents
|
|
|
|
|
if ( elem.nodeName.toLowerCase() === "input" ) { |
|
|
|
|
return elem.defaultValue; |
|
|
|
|
Expr.attrHandle[ arr[i] ] = handler; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1403,7 +1357,7 @@ function valueHandler( elem ) { |
|
|
|
|
* Checks document order of two siblings |
|
|
|
|
* @param {Element} a |
|
|
|
|
* @param {Element} b |
|
|
|
|
* @returns Returns -1 if a precedes b, 1 if a follows b |
|
|
|
|
* @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b |
|
|
|
|
*/ |
|
|
|
|
function siblingCheck( a, b ) { |
|
|
|
|
var cur = b && a, |
|
|
|
@ -1492,7 +1446,8 @@ support = Sizzle.support = {}; |
|
|
|
|
* @returns {Object} Returns the current document |
|
|
|
|
*/ |
|
|
|
|
setDocument = Sizzle.setDocument = function( node ) { |
|
|
|
|
var doc = node ? node.ownerDocument || node : preferredDoc; |
|
|
|
|
var doc = node ? node.ownerDocument || node : preferredDoc, |
|
|
|
|
parent = doc.defaultView; |
|
|
|
|
|
|
|
|
|
// If no document and documentElement is available, return
|
|
|
|
|
if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { |
|
|
|
@ -1506,38 +1461,26 @@ setDocument = Sizzle.setDocument = function( node ) { |
|
|
|
|
// Support tests
|
|
|
|
|
documentIsHTML = !isXML( doc ); |
|
|
|
|
|
|
|
|
|
// Support: IE>8
|
|
|
|
|
// If iframe document is assigned to "document" variable and if iframe has been reloaded,
|
|
|
|
|
// IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936
|
|
|
|
|
// IE6-8 do not support the defaultView property so parent will be undefined
|
|
|
|
|
if ( parent && parent.attachEvent && parent !== parent.top ) { |
|
|
|
|
parent.attachEvent( "onbeforeunload", function() { |
|
|
|
|
setDocument(); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* Attributes |
|
|
|
|
---------------------------------------------------------------------- */ |
|
|
|
|
|
|
|
|
|
// Support: IE<8
|
|
|
|
|
// Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans)
|
|
|
|
|
support.attributes = assert(function( div ) { |
|
|
|
|
|
|
|
|
|
// Support: IE<8
|
|
|
|
|
// Prevent attribute/property "interpolation"
|
|
|
|
|
div.innerHTML = "<a href='#'></a>"; |
|
|
|
|
addHandle( "type|href|height|width", interpolationHandler, div.firstChild.getAttribute("href") === "#" ); |
|
|
|
|
|
|
|
|
|
// Support: IE<9
|
|
|
|
|
// Use getAttributeNode to fetch booleans when getAttribute lies
|
|
|
|
|
addHandle( booleans, boolHandler, div.getAttribute("disabled") == null ); |
|
|
|
|
|
|
|
|
|
div.className = "i"; |
|
|
|
|
return !div.getAttribute("className"); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
// Support: IE<9
|
|
|
|
|
// Retrieving value should defer to defaultValue
|
|
|
|
|
support.input = assert(function( div ) { |
|
|
|
|
div.innerHTML = "<input>"; |
|
|
|
|
div.firstChild.setAttribute( "value", "" ); |
|
|
|
|
return div.firstChild.getAttribute( "value" ) === ""; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
// IE6/7 still return empty string for value,
|
|
|
|
|
// but are actually retrieving the property
|
|
|
|
|
addHandle( "value", valueHandler, support.attributes && support.input ); |
|
|
|
|
|
|
|
|
|
/* getElement(s)By* |
|
|
|
|
---------------------------------------------------------------------- */ |
|
|
|
|
|
|
|
|
@ -1646,7 +1589,7 @@ setDocument = Sizzle.setDocument = function( node ) { |
|
|
|
|
// See http://bugs.jquery.com/ticket/13378
|
|
|
|
|
rbuggyQSA = []; |
|
|
|
|
|
|
|
|
|
if ( (support.qsa = isNative(doc.querySelectorAll)) ) { |
|
|
|
|
if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { |
|
|
|
|
// Build QSA regex
|
|
|
|
|
// Regex strategy adopted from Diego Perini
|
|
|
|
|
assert(function( div ) { |
|
|
|
@ -1698,7 +1641,7 @@ setDocument = Sizzle.setDocument = function( node ) { |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ( (support.matchesSelector = isNative( (matches = docElem.webkitMatchesSelector || |
|
|
|
|
if ( (support.matchesSelector = rnative.test( (matches = docElem.webkitMatchesSelector || |
|
|
|
|
docElem.mozMatchesSelector || |
|
|
|
|
docElem.oMatchesSelector || |
|
|
|
|
docElem.msMatchesSelector) )) ) { |
|
|
|
@ -1724,7 +1667,7 @@ setDocument = Sizzle.setDocument = function( node ) { |
|
|
|
|
// Element contains another
|
|
|
|
|
// Purposefully does not implement inclusive descendent
|
|
|
|
|
// As in, an element does not contain itself
|
|
|
|
|
contains = isNative(docElem.contains) || docElem.compareDocumentPosition ? |
|
|
|
|
contains = rnative.test( docElem.contains ) || docElem.compareDocumentPosition ? |
|
|
|
|
function( a, b ) { |
|
|
|
|
var adown = a.nodeType === 9 ? a.documentElement : a, |
|
|
|
|
bup = b && b.parentNode; |
|
|
|
@ -1748,13 +1691,6 @@ setDocument = Sizzle.setDocument = function( node ) { |
|
|
|
|
/* Sorting |
|
|
|
|
---------------------------------------------------------------------- */ |
|
|
|
|
|
|
|
|
|
// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
|
|
|
|
|
// Detached nodes confoundingly follow *each other*
|
|
|
|
|
support.sortDetached = assert(function( div1 ) { |
|
|
|
|
// Should return 1, but returns 4 (following)
|
|
|
|
|
return div1.compareDocumentPosition( doc.createElement("div") ) & 1; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
// Document order sorting
|
|
|
|
|
sortOrder = docElem.compareDocumentPosition ? |
|
|
|
|
function( a, b ) { |
|
|
|
@ -1897,9 +1833,9 @@ Sizzle.attr = function( elem, name ) { |
|
|
|
|
|
|
|
|
|
var fn = Expr.attrHandle[ name.toLowerCase() ], |
|
|
|
|
// Don't get fooled by Object.prototype properties (jQuery #13807)
|
|
|
|
|
val = ( fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? |
|
|
|
|
val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? |
|
|
|
|
fn( elem, name, !documentIsHTML ) : |
|
|
|
|
undefined ); |
|
|
|
|
undefined; |
|
|
|
|
|
|
|
|
|
return val === undefined ? |
|
|
|
|
support.attributes || !documentIsHTML ? |
|
|
|
@ -2444,6 +2380,8 @@ Expr = Sizzle.selectors = { |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
Expr.pseudos["nth"] = Expr.pseudos["eq"]; |
|
|
|
|
|
|
|
|
|
// Add button/input type pseudos
|
|
|
|
|
for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { |
|
|
|
|
Expr.pseudos[ i ] = createInputPseudo( i ); |
|
|
|
@ -2452,6 +2390,11 @@ for ( i in { submit: true, reset: true } ) { |
|
|
|
|
Expr.pseudos[ i ] = createButtonPseudo( i ); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Easy API for creating new setFilters
|
|
|
|
|
function setFilters() {} |
|
|
|
|
setFilters.prototype = Expr.filters = Expr.pseudos; |
|
|
|
|
Expr.setFilters = new setFilters(); |
|
|
|
|
|
|
|
|
|
function tokenize( selector, parseOnly ) { |
|
|
|
|
var matched, match, tokens, type, |
|
|
|
|
soFar, groups, preFilters, |
|
|
|
@ -2963,26 +2906,67 @@ function select( selector, context, results, seed ) { |
|
|
|
|
return results; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Deprecated
|
|
|
|
|
Expr.pseudos["nth"] = Expr.pseudos["eq"]; |
|
|
|
|
|
|
|
|
|
// Easy API for creating new setFilters
|
|
|
|
|
function setFilters() {} |
|
|
|
|
setFilters.prototype = Expr.filters = Expr.pseudos; |
|
|
|
|
Expr.setFilters = new setFilters(); |
|
|
|
|
|
|
|
|
|
// One-time assignments
|
|
|
|
|
|
|
|
|
|
// Sort stability
|
|
|
|
|
support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; |
|
|
|
|
|
|
|
|
|
// Support: Chrome<14
|
|
|
|
|
// Always assume duplicates if they aren't passed to the comparison function
|
|
|
|
|
support.detectDuplicates = hasDuplicate; |
|
|
|
|
|
|
|
|
|
// Initialize against the default document
|
|
|
|
|
setDocument(); |
|
|
|
|
|
|
|
|
|
// Support: Chrome<<14
|
|
|
|
|
// Always assume duplicates if they aren't passed to the comparison function
|
|
|
|
|
[0, 0].sort( sortOrder ); |
|
|
|
|
support.detectDuplicates = hasDuplicate; |
|
|
|
|
// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
|
|
|
|
|
// Detached nodes confoundingly follow *each other*
|
|
|
|
|
support.sortDetached = assert(function( div1 ) { |
|
|
|
|
// Should return 1, but returns 4 (following)
|
|
|
|
|
return div1.compareDocumentPosition( document.createElement("div") ) & 1; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
// Support: IE<8
|
|
|
|
|
// Prevent attribute/property "interpolation"
|
|
|
|
|
// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
|
|
|
|
|
if ( !assert(function( div ) { |
|
|
|
|
div.innerHTML = "<a href='#'></a>"; |
|
|
|
|
return div.firstChild.getAttribute("href") === "#" ; |
|
|
|
|
}) ) { |
|
|
|
|
addHandle( "type|href|height|width", function( elem, name, isXML ) { |
|
|
|
|
if ( !isXML ) { |
|
|
|
|
return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Support: IE<9
|
|
|
|
|
// Use defaultValue in place of getAttribute("value")
|
|
|
|
|
if ( !support.attributes || !assert(function( div ) { |
|
|
|
|
div.innerHTML = "<input/>"; |
|
|
|
|
div.firstChild.setAttribute( "value", "" ); |
|
|
|
|
return div.firstChild.getAttribute( "value" ) === ""; |
|
|
|
|
}) ) { |
|
|
|
|
addHandle( "value", function( elem, name, isXML ) { |
|
|
|
|
if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { |
|
|
|
|
return elem.defaultValue; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Support: IE<9
|
|
|
|
|
// Use getAttributeNode to fetch booleans when getAttribute lies
|
|
|
|
|
if ( !assert(function( div ) { |
|
|
|
|
return div.getAttribute("disabled") == null; |
|
|
|
|
}) ) { |
|
|
|
|
addHandle( booleans, function( elem, name, isXML ) { |
|
|
|
|
var val; |
|
|
|
|
if ( !isXML ) { |
|
|
|
|
return (val = elem.getAttributeNode( name )) && val.specified ? |
|
|
|
|
val.value : |
|
|
|
|
elem[ name ] === true ? name.toLowerCase() : null; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
jQuery.find = Sizzle; |
|
|
|
|
jQuery.expr = Sizzle.selectors; |
|
|
|
@ -3167,9 +3151,9 @@ jQuery.Callbacks = function( options ) { |
|
|
|
|
}, |
|
|
|
|
// Call all callbacks with the given context and arguments
|
|
|
|
|
fireWith: function( context, args ) { |
|
|
|
|
args = args || []; |
|
|
|
|
args = [ context, args.slice ? args.slice() : args ]; |
|
|
|
|
if ( list && ( !fired || stack ) ) { |
|
|
|
|
args = args || []; |
|
|
|
|
args = [ context, args.slice ? args.slice() : args ]; |
|
|
|
|
if ( firing ) { |
|
|
|
|
stack.push( args ); |
|
|
|
|
} else { |
|
|
|
@ -3951,7 +3935,6 @@ jQuery.extend({ |
|
|
|
|
startLength--; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
hooks.cur = fn; |
|
|
|
|
if ( fn ) { |
|
|
|
|
|
|
|
|
|
// Add a progress sentinel to prevent the fx queue from being
|
|
|
|
@ -4174,8 +4157,11 @@ jQuery.fn.extend({ |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
toggleClass: function( value, stateVal ) { |
|
|
|
|
var type = typeof value, |
|
|
|
|
isBool = typeof stateVal === "boolean"; |
|
|
|
|
var type = typeof value; |
|
|
|
|
|
|
|
|
|
if ( typeof stateVal === "boolean" && type === "string" ) { |
|
|
|
|
return stateVal ? this.addClass( value ) : this.removeClass( value ); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ( jQuery.isFunction( value ) ) { |
|
|
|
|
return this.each(function( i ) { |
|
|
|
@ -4189,13 +4175,15 @@ jQuery.fn.extend({ |
|
|
|
|
var className, |
|
|
|
|
i = 0, |
|
|
|
|
self = jQuery( this ), |
|
|
|
|
state = stateVal, |
|
|
|
|
classNames = value.match( core_rnotwhite ) || []; |
|
|
|
|
|
|
|
|
|
while ( (className = classNames[ i++ ]) ) { |
|
|
|
|
// check each className given, space separated list
|
|
|
|
|
state = isBool ? state : !self.hasClass( className ); |
|
|
|
|
self[ state ? "addClass" : "removeClass" ]( className ); |
|
|
|
|
if ( self.hasClass( className ) ) { |
|
|
|
|
self.removeClass( className ); |
|
|
|
|
} else { |
|
|
|
|
self.addClass( className ); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Toggle whole class name
|
|
|
|
@ -6939,10 +6927,12 @@ jQuery.fn.extend({ |
|
|
|
|
return showHide( this ); |
|
|
|
|
}, |
|
|
|
|
toggle: function( state ) { |
|
|
|
|
var bool = typeof state === "boolean"; |
|
|
|
|
if ( typeof state === "boolean" ) { |
|
|
|
|
return state ? this.show() : this.hide(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return this.each(function() { |
|
|
|
|
if ( bool ? state : isHidden( this ) ) { |
|
|
|
|
if ( isHidden( this ) ) { |
|
|
|
|
jQuery( this ).show(); |
|
|
|
|
} else { |
|
|
|
|
jQuery( this ).hide(); |
|
|
|
@ -6973,6 +6963,7 @@ jQuery.extend({ |
|
|
|
|
"fontWeight": true, |
|
|
|
|
"lineHeight": true, |
|
|
|
|
"opacity": true, |
|
|
|
|
"order": true, |
|
|
|
|
"orphans": true, |
|
|
|
|
"widows": true, |
|
|
|
|
"zIndex": true, |
|
|
|
@ -8864,8 +8855,8 @@ var fxNow, timerId, |
|
|
|
|
|
|
|
|
|
// Update tween properties
|
|
|
|
|
if ( parts ) { |
|
|
|
|
start = tween.start = +start || +target || 0; |
|
|
|
|
tween.unit = unit; |
|
|
|
|
tween.start = +start || +target || 0; |
|
|
|
|
// If a +=/-= token was provided, we're doing a relative animation
|
|
|
|
|
tween.end = parts[ 1 ] ? |
|
|
|
|
start + ( parts[ 1 ] + 1 ) * parts[ 2 ] : |
|
|
|
@ -9312,9 +9303,7 @@ jQuery.fn.extend({ |
|
|
|
|
doAnimation = function() { |
|
|
|
|
// Operate on a copy of prop so per-property easing won't be lost
|
|
|
|
|
var anim = Animation( this, jQuery.extend( {}, prop ), optall ); |
|
|
|
|
doAnimation.finish = function() { |
|
|
|
|
anim.stop( true ); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// Empty animations, or finishing resolves immediately
|
|
|
|
|
if ( empty || jQuery._data( this, "finish" ) ) { |
|
|
|
|
anim.stop( true ); |
|
|
|
@ -9394,8 +9383,8 @@ jQuery.fn.extend({ |
|
|
|
|
// empty the queue first
|
|
|
|
|
jQuery.queue( this, type, [] ); |
|
|
|
|
|
|
|
|
|
if ( hooks && hooks.cur && hooks.cur.finish ) { |
|
|
|
|
hooks.cur.finish.call( this ); |
|
|
|
|
if ( hooks && hooks.stop ) { |
|
|
|
|
hooks.stop.call( this, true ); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// look for any active animations, and finish them
|
|
|
|
@ -9775,7 +9764,7 @@ jQuery.fn.size = function() { |
|
|
|
|
jQuery.fn.andSelf = jQuery.fn.addBack; |
|
|
|
|
|
|
|
|
|
// })();
|
|
|
|
|
if ( typeof module === "object" && typeof module.exports === "object" ) { |
|
|
|
|
if ( typeof module === "object" && module && typeof module.exports === "object" ) { |
|
|
|
|
// Expose jQuery as module.exports in loaders that implement the Node
|
|
|
|
|
// module pattern (including browserify). Do not create the global, since
|
|
|
|
|
// the user will be storing it themselves locally, and globals are frowned
|