/*!
* jQuery JavaScript Library v1.9.1
* http://jquery.com/
*
* Includes Sizzle.js
* http://sizzlejs.com/
*
* Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors
* Released under the MIT license
* http://jquery.org/license
*
* Date: 2013-2-4
*/
(function( window, undefined ) {
// Can't do this because several apps including ASP.NET trace
// the stack via arguments.caller.callee and Firefox dies if
// you try to trace through "use strict" call chains. (#13335)
// Support: Firefox 18+
//"use strict";
var
// The deferred used on DOM ready
readyList,
// A central reference to the root jQuery(document)
rootjQuery,
// Support: IE<9
// For `typeof node.method` instead of `node.method !== undefined`
core_strundefined = typeof undefined,
// Use the correct document accordingly with window argument (sandbox)
document = window.document,
location = window.location,
// Map over jQuery in case of overwrite
_jQuery = window.jQuery,
// Map over the $ in case of overwrite
_$ = window.$,
// [[Class]] -> type pairs
class2type = {},
// List of deleted data cache ids, so we can reuse them
core_deletedIds = [],
core_version = "1.9.1",
// Save a reference to some core methods
core_concat = core_deletedIds.concat,
core_push = core_deletedIds.push,
core_slice = core_deletedIds.slice,
core_indexOf = core_deletedIds.indexOf,
core_toString = class2type.toString,
core_hasOwn = class2type.hasOwnProperty,
core_trim = core_version.trim,
// Define a local copy of jQuery
jQuery = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init( selector, context, rootjQuery );
},
// Used for matching numbers
core_pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
// Used for splitting on whitespace
core_rnotwhite = /\S+/g,
// Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE)
rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
// A simple way to check for HTML strings
// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
// Strict HTML recognition (#11290: must start with <)
rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,
// Match a standalone tag
rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
// JSON RegExp
rvalidchars = /^[\],:{}\s]*$/,
rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,
rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,
// Matches dashed string for camelizing
rmsPrefix = /^-ms-/,
rdashAlpha = /-([\da-z])/gi,
// Used by jQuery.camelCase as callback to replace()
fcamelCase = function( all, letter ) {
return letter.toUpperCase();
},
// The ready event handler
completed = function( event ) {
// readyState === "complete" is good enough for us to call the dom ready in oldIE
if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) {
detach();
jQuery.ready();
}
},
// Clean-up method for dom ready events
detach = function() {
if ( document.addEventListener ) {
document.removeEventListener( "DOMContentLoaded", completed, false );
window.removeEventListener( "load", completed, false );
} else {
document.detachEvent( "onreadystatechange", completed );
window.detachEvent( "onload", completed );
}
};
jQuery.fn = jQuery.prototype = {
// The current version of jQuery being used
jquery: core_version,
constructor: jQuery,
init: function( selector, context, rootjQuery ) {
var match, elem;
// HANDLE: $(""), $(null), $(undefined), $(false)
if ( !selector ) {
return this;
}
// Handle HTML strings
if ( typeof selector === "string" ) {
if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
// Assume that strings that start and end with <> are HTML and skip the regex check
match = [ null, selector, null ];
} else {
match = rquickExpr.exec( selector );
}
// Match html or make sure no context is specified for #id
if ( match && (match[1] || !context) ) {
// HANDLE: $(html) -> $(array)
if ( match[1] ) {
context = context instanceof jQuery ? context[0] : context;
// scripts is true for back-compat
jQuery.merge( this, jQuery.parseHTML(
match[1],
context && context.nodeType ? context.ownerDocument || context : document,
true
) );
// HANDLE: $(html, props)
if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {
for ( match in context ) {
// Properties of context are called as methods if possible
if ( jQuery.isFunction( this[ match ] ) ) {
this[ match ]( context[ match ] );
// ...and otherwise set as attributes
} else {
this.attr( match, context[ match ] );
}
}
}
return this;
// HANDLE: $(#id)
} else {
elem = document.getElementById( match[2] );
// Check parentNode to catch when Blackberry 4.6 returns
// nodes that are no longer in the document #6963
if ( elem && elem.parentNode ) {
// Handle the case where IE and Opera return items
// by name instead of ID
if ( elem.id !== match[2] ) {
return rootjQuery.find( selector );
}
// Otherwise, we inject the element directly into the jQuery object
this.length = 1;
this[0] = elem;
}
this.context = document;
this.selector = selector;
return this;
}
// HANDLE: $(expr, $(...))
} else if ( !context || context.jquery ) {
return ( context || rootjQuery ).find( selector );
// HANDLE: $(expr, context)
// (which is just equivalent to: $(context).find(expr)
} else {
return this.constructor( context ).find( selector );
}
// HANDLE: $(DOMElement)
} else if ( selector.nodeType ) {
this.context = this[0] = selector;
this.length = 1;
return this;
// HANDLE: $(function)
// Shortcut for document ready
} else if ( jQuery.isFunction( selector ) ) {
return rootjQuery.ready( selector );
}
if ( selector.selector !== undefined ) {
this.selector = selector.selector;
this.context = selector.context;
}
return jQuery.makeArray( selector, this );
},
// Start with an empty selector
selector: "",
// The default length of a jQuery object is 0
length: 0,
// The number of elements contained in the matched element set
size: function() {
return this.length;
},
toArray: function() {
return core_slice.call( this );
},
// Get the Nth element in the matched element set OR
// Get the whole matched element set as a clean array
get: function( num ) {
return num == null ?
// Return a 'clean' array
this.toArray() :
// Return just the object
( num < 0 ? this[ this.length + num ] : this[ num ] );
},
// Take an array of elements and push it onto the stack
// (returning the new matched element set)
pushStack: function( elems ) {
// Build a new jQuery matched element set
var ret = jQuery.merge( this.constructor(), elems );
// Add the old object onto the stack (as a reference)
ret.prevObject = this;
ret.context = this.context;
// Return the newly-formed element set
return ret;
},
// Execute a callback for every element in the matched set.
// (You can seed the arguments with an array of args, but this is
// only used internally.)
each: function( callback, args ) {
return jQuery.each( this, callback, args );
},
ready: function( fn ) {
// Add the callback
jQuery.ready.promise().done( fn );
return this;
},
slice: function() {
return this.pushStack( core_slice.apply( this, arguments ) );
},
first: function() {
return this.eq( 0 );
},
last: function() {
return this.eq( -1 );
},
eq: function( i ) {
var len = this.length,
j = +i + ( i < 0 ? len : 0 );
return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] );
},
map: function( callback ) {
没有合适的资源?快使用搜索试试~ 我知道了~
单页Web应用:JavaScript前端到后端--源代码
共1058个文件
js:744个
css:189个
html:69个
需积分: 11 66 下载量 122 浏览量
2016-06-11
21:16:27
上传
评论 2
收藏 6.64MB ZIP 举报
温馨提示
单页Web应用:JavaScript前端到后端的源码下载,提供了全部的源代码供javascript及前端爱好者们研究! 新增了第二章javascript知识温故代码,主要有类与原型,作用域、原型链、运行环境、函数和闭包的定义和实例使用。
资源推荐
资源详情
资源评论
收起资源包目录
单页Web应用:JavaScript前端到后端--源代码 (1058个子文件)
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 3KB
spa.chat.css 2KB
spa.chat.css 2KB
spa.chat.css 2KB
spa.chat.css 2KB
spa.chat.css 2KB
spa.chat.css 2KB
spa.chat.css 2KB
spa.chat.css 2KB
spa.chat.css 2KB
spa.chat.css 2KB
spa.chat.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
spa.shell.css 2KB
共 1058 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11
资源评论
一望无际的大草原
- 粉丝: 440
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功