⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jquery.js

📁 模拟的土豆网视频网站
💻 JS
📖 第 1 页 / 共 5 页
字号:
	data: function( key, value ){		var parts = key.split(".");		parts[1] = parts[1] ? "." + parts[1] : "";		if ( value === undefined ) {			var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);			if ( data === undefined && this.length )				data = jQuery.data( this[0], key );			return data === undefined && parts[1] ?				this.data( parts[0] ) :				data;		} else			return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function(){				jQuery.data( this, key, value );			});	},	removeData: function( key ){		return this.each(function(){			jQuery.removeData( this, key );		});	},	domManip: function( args, table, reverse, callback ) {		var clone = this.length > 1, elems;		return this.each(function(){			if ( !elems ) {				elems = jQuery.clean( args, this.ownerDocument );				if ( reverse )					elems.reverse();			}			var obj = this;			if ( table && jQuery.nodeName( this, "table" ) && jQuery.nodeName( elems[0], "tr" ) )				obj = this.getElementsByTagName("tbody")[0] || this.appendChild( this.ownerDocument.createElement("tbody") );			var scripts = jQuery( [] );			jQuery.each(elems, function(){				var elem = clone ?					jQuery( this ).clone( true )[0] :					this;				// execute all scripts after the elements have been injected				if ( jQuery.nodeName( elem, "script" ) )					scripts = scripts.add( elem );				else {					// Remove any inner scripts for later evaluation					if ( elem.nodeType == 1 )						scripts = scripts.add( jQuery( "script", elem ).remove() );					// Inject the elements into the document					callback.call( obj, elem );				}			});			scripts.each( evalScript );		});	}};// Give the init function the jQuery prototype for later instantiationjQuery.fn.init.prototype = jQuery.fn;function evalScript( i, elem ) {	if ( elem.src )		jQuery.ajax({			url: elem.src,			async: false,			dataType: "script"		});	else		jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" );	if ( elem.parentNode )		elem.parentNode.removeChild( elem );}function now(){	return +new Date;}jQuery.extend = jQuery.fn.extend = function() {	// copy reference to target object	var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options;	// Handle a deep copy situation	if ( target.constructor == Boolean ) {		deep = target;		target = arguments[1] || {};		// skip the boolean and the target		i = 2;	}	// Handle case when target is a string or something (possible in deep copy)	if ( typeof target != "object" && typeof target != "function" )		target = {};	// extend jQuery itself if only one argument is passed	if ( length == i ) {		target = this;		--i;	}	for ( ; i < length; i++ )		// Only deal with non-null/undefined values		if ( (options = arguments[ i ]) != null )			// Extend the base object			for ( var name in options ) {				var src = target[ name ], copy = options[ name ];				// Prevent never-ending loop				if ( target === copy )					continue;				// Recurse if we're merging object values				if ( deep && copy && typeof copy == "object" && !copy.nodeType )					target[ name ] = jQuery.extend( deep, 						// Never move original objects, clone them						src || ( copy.length != null ? [ ] : { } )					, copy );				// Don't bring in undefined values				else if ( copy !== undefined )					target[ name ] = copy;			}	// Return the modified object	return target;};var expando = "jQuery" + now(), uuid = 0, windowData = {},	// exclude the following css properties to add px	exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i,	// cache defaultView	defaultView = document.defaultView || {};jQuery.extend({	noConflict: function( deep ) {		window.$ = _$;		if ( deep )			window.jQuery = _jQuery;		return jQuery;	},	// See test/unit/core.js for details concerning this function.	isFunction: function( fn ) {		return !!fn && typeof fn != "string" && !fn.nodeName &&			fn.constructor != Array && /^[\s[]?function/.test( fn + "" );	},	// check if an element is in a (or is an) XML document	isXMLDoc: function( elem ) {		return elem.documentElement && !elem.body ||			elem.tagName && elem.ownerDocument && !elem.ownerDocument.body;	},	// Evalulates a script in a global context	globalEval: function( data ) {		data = jQuery.trim( data );		if ( data ) {			// Inspired by code by Andrea Giammarchi			// http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html			var head = document.getElementsByTagName("head")[0] || document.documentElement,				script = document.createElement("script");			script.type = "text/javascript";			if ( jQuery.browser.msie )				script.text = data;			else				script.appendChild( document.createTextNode( data ) );			// Use insertBefore instead of appendChild  to circumvent an IE6 bug.			// This arises when a base node is used (#2709).			head.insertBefore( script, head.firstChild );			head.removeChild( script );		}	},	nodeName: function( elem, name ) {		return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase();	},	cache: {},	data: function( elem, name, data ) {		elem = elem == window ?			windowData :			elem;		var id = elem[ expando ];		// Compute a unique ID for the element		if ( !id )			id = elem[ expando ] = ++uuid;		// Only generate the data cache if we're		// trying to access or manipulate it		if ( name && !jQuery.cache[ id ] )			jQuery.cache[ id ] = {};		// Prevent overriding the named cache with undefined values		if ( data !== undefined )			jQuery.cache[ id ][ name ] = data;		// Return the named cache data, or the ID for the element		return name ?			jQuery.cache[ id ][ name ] :			id;	},	removeData: function( elem, name ) {		elem = elem == window ?			windowData :			elem;		var id = elem[ expando ];		// If we want to remove a specific section of the element's data		if ( name ) {			if ( jQuery.cache[ id ] ) {				// Remove the section of cache data				delete jQuery.cache[ id ][ name ];				// If we've removed all the data, remove the element's cache				name = "";				for ( name in jQuery.cache[ id ] )					break;				if ( !name )					jQuery.removeData( elem );			}		// Otherwise, we want to remove all of the element's data		} else {			// Clean up the element expando			try {				delete elem[ expando ];			} catch(e){				// IE has trouble directly removing the expando				// but it's ok with using removeAttribute				if ( elem.removeAttribute )					elem.removeAttribute( expando );			}			// Completely remove the data cache			delete jQuery.cache[ id ];		}	},	// args is for internal usage only	each: function( object, callback, args ) {		var name, i = 0, length = object.length;		if ( args ) {			if ( length == undefined ) {				for ( name in object )					if ( callback.apply( object[ name ], args ) === false )						break;			} else				for ( ; i < length; )					if ( callback.apply( object[ i++ ], args ) === false )						break;		// A special, fast, case for the most common use of each		} else {			if ( length == undefined ) {				for ( name in object )					if ( callback.call( object[ name ], name, object[ name ] ) === false )						break;			} else				for ( var value = object[0];					i < length && callback.call( value, i, value ) !== false; value = object[++i] ){}		}		return object;	},	prop: function( elem, value, type, i, name ) {		// Handle executable functions		if ( jQuery.isFunction( value ) )			value = value.call( elem, i );		// Handle passing in a number to a CSS property		return value && value.constructor == Number && type == "curCSS" && !exclude.test( name ) ?			value + "px" :			value;	},	className: {		// internal only, use addClass("class")		add: function( elem, classNames ) {			jQuery.each((classNames || "").split(/\s+/), function(i, className){				if ( elem.nodeType == 1 && !jQuery.className.has( elem.className, className ) )					elem.className += (elem.className ? " " : "") + className;			});		},		// internal only, use removeClass("class")		remove: function( elem, classNames ) {			if (elem.nodeType == 1)				elem.className = classNames != undefined ?					jQuery.grep(elem.className.split(/\s+/), function(className){						return !jQuery.className.has( classNames, className );					}).join(" ") :					"";		},		// internal only, use hasClass("class")		has: function( elem, className ) {			return jQuery.inArray( className, (elem.className || elem).toString().split(/\s+/) ) > -1;		}	},	// A method for quickly swapping in/out CSS properties to get correct calculations	swap: function( elem, options, callback ) {		var old = {};		// Remember the old values, and insert the new ones		for ( var name in options ) {			old[ name ] = elem.style[ name ];			elem.style[ name ] = options[ name ];		}		callback.call( elem );		// Revert the old values		for ( var name in options )			elem.style[ name ] = old[ name ];	},	css: function( elem, name, force ) {		if ( name == "width" || name == "height" ) {			var val, props = { position: "absolute", visibility: "hidden", display:"block" }, which = name == "width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ];			function getWH() {				val = name == "width" ? elem.offsetWidth : elem.offsetHeight;				var padding = 0, border = 0;				jQuery.each( which, function() {					padding += parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0;					border += parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0;				});				val -= Math.round(padding + border);			}			if ( jQuery(elem).is(":visible") )				getWH();			else				jQuery.swap( elem, props, getWH );			return Math.max(0, val);		}		return jQuery.curCSS( elem, name, force );	},	curCSS: function( elem, name, force ) {		var ret, style = elem.style;		// A helper method for determining if an element's values are broken		function color( elem ) {			if ( !jQuery.browser.safari )				return false;			// defaultView is cached			var ret = defaultView.getComputedStyle( elem, null );			return !ret || ret.getPropertyValue("color") == "";		}		// We need to handle opacity special in IE		if ( name == "opacity" && jQuery.browser.msie ) {			ret = jQuery.attr( style, "opacity" );			return ret == "" ?				"1" :				ret;		}		// Opera sometimes will give the wrong display answer, this fixes it, see #2037		if ( jQuery.browser.opera && name == "display" ) {			var save = style.outline;			style.outline = "0 solid black";			style.outline = save;		}		// Make sure we're using the right name for getting the float value		if ( name.match( /float/i ) )			name = styleFloat;		if ( !force && style && style[ name ] )			ret = style[ name ];		else if ( defaultView.getComputedStyle ) {			// Only "float" is needed here			if ( name.match( /float/i ) )				name = "float";			name = name.replace( /([A-Z])/g, "-$1" ).toLowerCase();			var computedStyle = defaultView.getComputedStyle( elem, null );			if ( computedStyle && !color( elem ) )				ret = computedStyle.getPropertyValue( name );			// If the element isn't reporting its values properly in Safari			// then some display: none elements are involved			else {				var swap = [], stack = [], a = elem, i = 0;				// Locate all of the parent display: none elements				for ( ; a && color(a); a = a.parentNode )					stack.unshift(a);				// Go through and make them visible, but in reverse				// (It would be better if we knew the exact display type that they had)				for ( ; i < stack.length; i++ )					if ( color( stack[ i ] ) ) {						swap[ i ] = stack[ i ].style.display;						stack[ i ].style.display = "block";					}				// Since we flip the display style, we have to handle that				// one special, otherwise get the value				ret = name == "display" && swap[ stack.length - 1 ] != null ?					"none" :					( computedStyle && computedStyle.getPropertyValue( name ) ) || "";				// Finally, revert the display styles back				for ( i = 0; i < swap.length; i++ )					if ( swap[ i ] != null )						stack[ i ].style.display = swap[ i ];			}			// We should always get a number back from opacity			if ( name == "opacity" && ret == "" )				ret = "1";		} else if ( elem.currentStyle ) {			var camelCase = name.replace(/\-(\w)/g, function(all, letter){				return letter.toUpperCase();			});			ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ];			// From the awesome hack by Dean Edwards			// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291			// If we're not dealing with a regular pixel number			// but a number that has a weird ending, we need to convert it to pixels			if ( !/^\d+(px)?$/i.test( ret ) && /^\d/.test( ret ) ) {				// Remember the original values

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -