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

📄 jquery-1.2.js

📁 里面包括了一些javascript的常用用法
💻 JS
📖 第 1 页 / 共 5 页
字号:
(function(){/* * jQuery 1.2 - New Wave Javascript * * Copyright (c) 2007 John Resig (jquery.com) * Dual licensed under the MIT (MIT-LICENSE.txt) * and GPL (GPL-LICENSE.txt) licenses. * * $Date: 2007-09-10 15:45:49 -0400 (Mon, 10 Sep 2007) $ * $Rev: 3219 $ */// Map over jQuery in case of overwriteif ( typeof jQuery != "undefined" )	var _jQuery = jQuery;var jQuery = window.jQuery = function(a,c) {	// If the context is global, return a new object	if ( window == this || !this.init )		return new jQuery(a,c);		return this.init(a,c);};// Map over the $ in case of overwriteif ( typeof $ != "undefined" )	var _$ = $;	// Map the jQuery namespace to the '$' onewindow.$ = jQuery;var quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;jQuery.fn = jQuery.prototype = {	init: function(a,c) {		// Make sure that a selection was provided		a = a || document;		// Handle HTML strings		if ( typeof a  == "string" ) {			var m = quickExpr.exec(a);			if ( m && (m[1] || !c) ) {				// HANDLE: $(html) -> $(array)				if ( m[1] )					a = jQuery.clean( [ m[1] ], c );				// HANDLE: $("#id")				else {					var tmp = document.getElementById( m[3] );					if ( tmp )						// Handle the case where IE and Opera return items						// by name instead of ID						if ( tmp.id != m[3] )							return jQuery().find( a );						else {							this[0] = tmp;							this.length = 1;							return this;						}					else						a = [];				}			// HANDLE: $(expr)			} else				return new jQuery( c ).find( a );		// HANDLE: $(function)		// Shortcut for document ready		} else if ( jQuery.isFunction(a) )			return new jQuery(document)[ jQuery.fn.ready ? "ready" : "load" ]( a );		return this.setArray(			// HANDLE: $(array)			a.constructor == Array && a ||			// HANDLE: $(arraylike)			// Watch for when an array-like object is passed as the selector			(a.jquery || a.length && a != window && !a.nodeType && a[0] != undefined && a[0].nodeType) && jQuery.makeArray( a ) ||			// HANDLE: $(*)			[ a ] );	},		jquery: "1.2",	size: function() {		return this.length;	},		length: 0,	get: function( num ) {		return num == undefined ?			// Return a 'clean' array			jQuery.makeArray( this ) :			// Return just the object			this[num];	},		pushStack: function( a ) {		var ret = jQuery(a);		ret.prevObject = this;		return ret;	},		setArray: function( a ) {		this.length = 0;		Array.prototype.push.apply( this, a );		return this;	},	each: function( fn, args ) {		return jQuery.each( this, fn, args );	},	index: function( obj ) {		var pos = -1;		this.each(function(i){			if ( this == obj ) pos = i;		});		return pos;	},	attr: function( key, value, type ) {		var obj = key;				// Look for the case where we're accessing a style value		if ( key.constructor == String )			if ( value == undefined )				return this.length && jQuery[ type || "attr" ]( this[0], key ) || undefined;			else {				obj = {};				obj[ key ] = value;			}				// Check to see if we're setting style values		return this.each(function(index){			// Set all the styles			for ( var prop in obj )				jQuery.attr(					type ? this.style : this,					prop, jQuery.prop(this, obj[prop], type, index, prop)				);		});	},	css: function( key, value ) {		return this.attr( key, value, "curCSS" );	},	text: function(e) {		if ( typeof e != "object" && e != null )			return this.empty().append( document.createTextNode( e ) );		var t = "";		jQuery.each( e || this, function(){			jQuery.each( this.childNodes, function(){				if ( this.nodeType != 8 )					t += this.nodeType != 1 ?						this.nodeValue : jQuery.fn.text([ this ]);			});		});		return t;	},	wrapAll: function(html) {		if ( this[0] )			// The elements to wrap the target around			jQuery(html, this[0].ownerDocument)				.clone()				.insertBefore(this[0])				.map(function(){					var elem = this;					while ( elem.firstChild )						elem = elem.firstChild;					return elem;				})				.append(this);		return this;	},	wrapInner: function(html) {		return this.each(function(){			jQuery(this).contents().wrapAll(html);		});	},	wrap: function(html) {		return this.each(function(){			jQuery(this).wrapAll(html);		});	},	append: function() {		return this.domManip(arguments, true, 1, function(a){			this.appendChild( a );		});	},	prepend: function() {		return this.domManip(arguments, true, -1, function(a){			this.insertBefore( a, this.firstChild );		});	},		before: function() {		return this.domManip(arguments, false, 1, function(a){			this.parentNode.insertBefore( a, this );		});	},	after: function() {		return this.domManip(arguments, false, -1, function(a){			this.parentNode.insertBefore( a, this.nextSibling );		});	},	end: function() {		return this.prevObject || jQuery([]);	},	find: function(t) {		var data = jQuery.map(this, function(a){ return jQuery.find(t,a); });		return this.pushStack( /[^+>] [^+>]/.test( t ) || t.indexOf("..") > -1 ?			jQuery.unique( data ) : data );	},	clone: function(events) {		// Do the clone		var ret = this.map(function(){			return this.outerHTML ? jQuery(this.outerHTML)[0] : this.cloneNode(true);		});				if (events === true) {			var clone = ret.find("*").andSelf();			this.find("*").andSelf().each(function(i) {				var events = jQuery.data(this, "events");				for ( var type in events )					for ( var handler in events[type] )						jQuery.event.add(clone[i], type, events[type][handler], events[type][handler].data);			});		}		// Return the cloned set		return ret;	},	filter: function(t) {		return this.pushStack(			jQuery.isFunction( t ) &&			jQuery.grep(this, function(el, index){				return t.apply(el, [index]);			}) ||			jQuery.multiFilter(t,this) );	},	not: function(t) {		return this.pushStack(			t.constructor == String &&			jQuery.multiFilter(t, this, true) ||			jQuery.grep(this, function(a) {				return ( t.constructor == Array || t.jquery )					? jQuery.inArray( a, t ) < 0					: a != t;			})		);	},	add: function(t) {		return this.pushStack( jQuery.merge(			this.get(),			t.constructor == String ?				jQuery(t).get() :				t.length != undefined && (!t.nodeName || t.nodeName == "FORM") ?					t : [t] )		);	},	is: function(expr) {		return expr ? jQuery.multiFilter(expr,this).length > 0 : false;	},	hasClass: function(expr) {		return this.is("." + expr);	},		val: function( val ) {		if ( val == undefined ) {			if ( this.length ) {				var elem = this[0];		    					// We need to handle select boxes special				if ( jQuery.nodeName(elem, "select") ) {					var index = elem.selectedIndex,						a = [],						options = elem.options,						one = elem.type == "select-one";										// Nothing was selected					if ( index < 0 )						return null;					// Loop through all the selected options					for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) {						var option = options[i];						if ( option.selected ) {							// Get the specifc value for the option							var val = jQuery.browser.msie && !option.attributes["value"].specified ? option.text : option.value;														// We don't need an array for one selects							if ( one )								return val;														// Multi-Selects return an array							a.push(val);						}					}										return a;									// Everything else, we just grab the value				} else					return this[0].value.replace(/\r/g, "");			}		} else			return this.each(function(){				if ( val.constructor == Array && /radio|checkbox/.test(this.type) )					this.checked = (jQuery.inArray(this.value, val) >= 0 ||						jQuery.inArray(this.name, val) >= 0);				else if ( jQuery.nodeName(this, "select") ) {					var tmp = val.constructor == Array ? val : [val];					jQuery("option", this).each(function(){						this.selected = (jQuery.inArray(this.value, tmp) >= 0 ||						jQuery.inArray(this.text, tmp) >= 0);					});					if ( !tmp.length )						this.selectedIndex = -1;				} else					this.value = val;			});	},		html: function( val ) {		return val == undefined ?			( this.length ? this[0].innerHTML : null ) :			this.empty().append( val );	},	replaceWith: function( val ) {		return this.after( val ).remove();	},	slice: function() {		return this.pushStack( Array.prototype.slice.apply( this, arguments ) );	},	map: function(fn) {		return this.pushStack(jQuery.map( this, function(elem,i){			return fn.call( elem, i, elem );		}));	},	andSelf: function() {		return this.add( this.prevObject );	},		domManip: function(args, table, dir, fn) {		var clone = this.length > 1, a; 		return this.each(function(){			if ( !a ) {				a = jQuery.clean(args, this.ownerDocument);				if ( dir < 0 )					a.reverse();			}			var obj = this;			if ( table && jQuery.nodeName(this, "table") && jQuery.nodeName(a[0], "tr") )				obj = this.getElementsByTagName("tbody")[0] || this.appendChild(document.createElement("tbody"));			jQuery.each( a, function(){				if ( jQuery.nodeName(this, "script") ) {					if ( this.src )						jQuery.ajax({ url: this.src, async: false, dataType: "script" });					else						jQuery.globalEval( this.text || this.textContent || this.innerHTML || "" );				} else					fn.apply( obj, [ clone ? this.cloneNode(true) : this ] );			});		});	}};jQuery.extend = jQuery.fn.extend = function() {	// copy reference to target object	var target = arguments[0] || {}, a = 1, al = arguments.length, deep = false;	// Handle a deep copy situation	if ( target.constructor == Boolean ) {		deep = target;		target = arguments[1] || {};	}	// extend jQuery itself if only one argument is passed	if ( al == 1 ) {		target = this;		a = 0;	}	var prop;	for ( ; a < al; a++ )		// Only deal with non-null/undefined values		if ( (prop = arguments[a]) != null )			// Extend the base object			for ( var i in prop ) {				// Prevent never-ending loop				if ( target == prop[i] )					continue;				// Recurse if we're merging object values				if ( deep && typeof prop[i] == 'object' && target[i] )					jQuery.extend( target[i], prop[i] );				// Don't bring in undefined values				else if ( prop[i] != undefined )					target[i] = prop[i];			}	// Return the modified object	return target;};var expando = "jQuery" + (new Date()).getTime(), uuid = 0, win = {};jQuery.extend({	noConflict: function(deep) {		window.$ = _$;		if ( deep )			window.jQuery = _jQuery;		return jQuery;	},	// This may seem like some crazy code, but trust me when I say that this	// is the only cross-browser way to do this. --John	isFunction: function( fn ) {		return !!fn && typeof fn != "string" && !fn.nodeName && 			fn.constructor != Array && /function/i.test( fn + "" );	},		// check if an element is in a XML document	isXMLDoc: function(elem) {		return elem.documentElement && !elem.body ||			elem.tagName && elem.ownerDocument && !elem.ownerDocument.body;	},	// Evalulates a script in a global context	// Evaluates Async. in Safari 2 :-(	globalEval: function( data ) {		data = jQuery.trim( data );		if ( data ) {			if ( window.execScript )				window.execScript( data );			else if ( jQuery.browser.safari )				// safari doesn't provide a synchronous global eval				window.setTimeout( data, 0 );			else				eval.call( window, data );		}	},	nodeName: function( elem, name ) {		return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase();	},		cache: {},		data: function( elem, name, data ) {		elem = elem == window ? win : elem;

⌨️ 快捷键说明

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