图书介绍
jQuery技术内幕 深入解析jQuery架构设计与实现原理PDF|Epub|txt|kindle电子书版本网盘下载
- 高云著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111440826
- 出版时间:2014
- 标注页数:616页
- 文件大小:114MB
- 文件页数:634页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
jQuery技术内幕 深入解析jQuery架构设计与实现原理PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 总体架构2
第1章 总体架构2
1.1设计理念2
1.2总体架构2
1.3自调用匿名函数4
1.4总结6
第二部分 构造jQuery对象8
第2章 构造jQuery对象8
2.1构造函数jQuery()8
2.1.1 jQuery(selector[,context])9
2.1.2 jQuery(html[,ownerDocument])、jQuery(html,props)9
2.1.3 jQuery(element)、jQuery(elementArray)10
2.1.4 jQuery(object)10
2.1.5 jQuery(callback)11
2.1.6 jQuery(jQuery object)11
2.1.7 jQuery()11
2.2总体结构11
2.3 jQuery.fn.init(selector,context,rootjQuery)13
2.3.1 12个分支13
2.3.2源码分析14
2.3.3小结21
2.4 jQuery.buildFragment(args,nodes,scripts)22
2.4.1实现原理22
2.4.2源码分析22
2.4.3小结26
2.5 jQueryclean(elems,context,fragment,scripts)27
2.5.1实现原理27
2.5.2源码分析27
2.5.3小结39
2.6 jQuery.extend()、jQuery.fn.extend()40
2.6.1如何使用40
2.6.2源码分析40
2.7原型属性和方法43
2.7.1 .selector、jquery、.length、.size()44
2.7.2 .toArray()、.get([index])45
2.7.3 .each(function(index,Element))、jQuery.each(collection,callback(indexInArray,valueOfElement))46
2.7.4 .map(callback(index,domElement))、jQuery.map(arrayOrObject,callback(value,indexOrKey))47
2.7.5 .pushStack(elements,name,arguments)49
2.7.6 .end()51
2.7.7 .eq(index)、.first()、.last()、.slice(start[,end])51
2.7.8 .push(value,…)、.sort([orderfunc])、.splice(start,deleteCount,value,…)52
2.7.9小结53
2.8静态属性和方法54
2.8.1 jQuery.noConflict([removeAll])55
2.8.2类型检测:jQuery.isFunction(obj)、jQueryisArray(obj)、jQuery.isWindow(obj)、jQuery.isNumeric(value)、jQuery.type(obj)、jQuery.isPlainObject(object)、jQuery.isEmptyObject(object)56
2.8.3解析JSON和XML:jQueryparseJSON(data)、jQueryparseXML(data)60
2.8.4 jQuery.globalEval(code)65
2.8.5 jQuery.camelCase(string)65
2.8.6 jQuery.nodeName(elem,name)66
2.8.7 jQuery.trim(str)67
2.8.8数组操作方法:jQuery.makeArray(obj)、jQuery.inArray(value,array[,fromIndex])、jQuery.merge(first,second)、jQuery.grep(array,function(elementOfArray,indexInArray)[,invert])68
2.8.9 jQuery.guid、jQuey.proxy(function,context)72
2.8.10 jQuery.access(elems,key,value,exec,fn(elem,key,value),pass)74
2.8.11 jQuery.error(message)、jQuery.noop()、jQuerynow()75
2.8.12浏览器嗅探:jQuery.uaMatch(ua)、jQuery.browser76
2.8.13小结77
2.9总结77
第三部分 底层支持模块80
第3章 选择器Sizzle80
3.1总体结构81
3.2选择器表达式83
3.3设计思路84
3.4 Sizzle(selector,context,results,seed)86
3.5正则chunker94
3.6 Sizzle.find(expr,context,isXML)94
3.7 Sizzle.filter(expr,set,inplace,not)99
3.8 Sizzle.selectors.relative103
3.8.1“+”105
3.8.2“>”106
3.8.3“”108
3.8.4“~”108
3.8.5 dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML)109
3.8.6 dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML)111
3.9 Sizzle.selectors112
3.9.1 Sizzle.selectors.order112
3.9.2 Sizzle.selectors.match/leftMatch113
3.9.3 Sizzle.selectors.find122
3.9.4 Sizzle.selectors.preFilter123
3.9.5 Sizzle.selectors.filters129
3.9.6 Sizzle.selectors.setFilters132
3.9.7 Sizzle.selectors.filter133
3.10工具方法140
3.10.1 Sizzle.uniqueSort(results)140
3.10.2 sortOrder(a,b)141
3.10.3 Sizzle.contains(a,b)144
3.10.4 Sizzle.error(msg)145
3.10.5 Sizzle.getText(elem)145
3.11便捷方法146
3.11.1 Sizzle.matches(expr,set)146
3.11.2 Sizzle.matchesSelector(node,expr)146
3.12 jQuery扩展147
3.12.1暴露Sizzle给jQuery147
3.12.2 .find(selector)148
3.12.3 .has(target)149
3.12.4 .not(selector)、.filter(selector)150
3.12.5 .is(selector)152
3.12.6 .closest(selectors,context)153
3.12.7 .index(elem)154
3.12.8 .add(selector,context)155
3.12.9 jQuery.filter(expr,elems,not)156
3.12.10 :animated157
3.12.11 hidden、:visible157
3.13总结158
第4章 异步队列Deferred Object160
4.1 jQuery.Callbacks(flags)161
4.1.1实现原理和总体结构162
4.1.2源码分析163
4.1.3小结174
4.2 jQuery.Deferred(func)174
4.2.1实现原理和总体结构176
4.2.2源码分析177
4.2.3小结183
4.3 jQuery.when(deferreds)184
4.3.1实现原理185
4.3.2源码分析185
4.4异步队列在jQuery中的应用187
4.5总结188
第5章 数据缓存Data189
5.1实现原理189
5.1.1为DOM元素附加数据189
5.1.2为JavaScript对象附加数据191
5.2总体结构192
5.3 jQuery.acceptData(elem)193
5.4 jQuery.data(elem,name,data,pvt)、jQuery._data(elem,name,data,pvt)194
5.4.1如何使用194
5.4.2源码分析194
5.4.3 jQuery._data(elem,name,data)199
5.4.4小结201
5.5 .data(key,value)201
5.5.1如何使用201
5.5.2源码分析202
5.5.3小结206
5.6 jQuery.removeData(elem,name,pvt)、.removeData(key)207
5.6.1如何使用207
5.6.2源码分析207
5.6.3小结212
5.7 .removeData(key)213
5.8 jQuery.cleanData(elems)213
5.8.1应用场景213
5.8.2源码分析214
5.8.3小结217
5.9 jQuery.hasData(elem)217
5.10总结218
第6章 队列Queue219
6.1如何使用219
6.1.1 Ajax队列220
6.1.2动画队列+Ajax队列220
6.1.3基于JavaScript对象221
6.2实现原理221
6.3总体结构222
6.4 jQuery.queue(elem,type,data)223
6.5 jQuerydequeue(elem,type)224
6.6 .queue(type,data)227
6.7 .dequeue(type)228
6.8 .delay(time,type)229
6.9 .clearQueue(type)230
6.10 jQuery._mark(elem,type)、jQuery._unmark(force,elem,type)230
6.11 .promise(type,object)232
6.11.1如何使用232
6.11.2实现原理233
6.11.3源码分析233
6.11.4 handleQueueMarkDefer(elem,type,src)235
6.12总结237
第7章 浏览器功能测试Support238
7.1总体结构238
7.2 DOM测试(15项)241
7.2.1 leadingWhitespace241
7.2.2 tbody242
7.2.3 htmISerialize243
7.2.4 hrefNormalized245
7.2.5 checkOn246
7.2.6 noCloneChecked248
7.2.7 optSelected250
7.2.8 optDisabled251
7.2.9 getSetAttribute253
7.2.10 deleteExpando256
7.2.11 enctype258
7.2.12 html5Clone259
7.2.13 radioValue261
7.2.14 checkClone263
7.2.15appendChecked264
7.3样式测试(3项)266
7.3.1 style266
7.3.2 opacity268
7.3.3 cssFloat272
7.4盒模型测试(10项)273
7.4.1 reliableMarginRight273
7.4.2 reliableHiddenOffsets276
7.4.3 boxModel278
7.4.4 inlineBlockNeedsLayout280
7.4.5 shrinkWrapBlocks282
7.4.6 doesNotAddBorder、doesAddBorderForTableAndCells285
7.4.7 fixedPosition287
7.4.8 subtractsBorderForOverflowNotVisible290
7.4.9 doesNotIncludeMarginInBodyOffset292
7.5事件测试(4项)294
7.5.1 noCloneEvent294
7.5.2 submitBubbles、changeBubbles、focusinBubbles296
7.6 Ajax测试(2项)298
7.6.1 ajax298
7.6.2 cors300
7.7总结301
第四部分 功能模块306
第8章 属性操作Attributes306
8.1总体结构307
8.2 jQuery.attr(elem,name,value,pass)308
8.2.1源码分析308
8.2.2 boolHook311
8.2.3 nodeHook313
8.2.4 jQuery.attrHooks314
8.2.5小结319
8.3 .attr(name,value)319
8.4 jQuery.removeAttr(elem,value)321
8.4.1源码分析321
8.4.2小结322
8.5 .removeAttr(name)323
8.6 jQuery.prop(elem,name,value)323
8.6.1源码分析323
8.6.2 jQuery.propHooks325
8.6.3小结326
8.7 .prop(name,value)327
8.8 .removeProp(name)327
8.9 .addClass(className)328
8.9.1源码分析328
8.9.2小结330
8.10 .removeClass([className])330
8.10.1源码分析331
8.10.2小结333
8.11 .toggleClass([className][,switch])333
8.11.1源码分析334
8.11.2小结336
8.12 .hasClass(selector)336
8.12.1源码分析336
8.12.2小结337
8.13 .val([value])338
8.13.1源码分析338
8.13.2 jQuery.valHooks340
8.13.3小结343
8.14总结344
第9章 事件系统Events346
9.1总体结构346
9.2实现原理350
9.3 jQuery事件对象353
9.3.1构造函数jQuery.Event(src,props)355
9.3.2原型对象jQuery.Event.prototype357
9.3.3事件属性修正方法jQuery.event.fix(event)360
9.4绑定事件367
9.4.1 .on(events[,selector][,data],handler(eventObject))367
9.4.2 jQuery.event.add(elem,types,handler,data,selector)370
9.5移除事件379
9.5.1 .off(events[,selector][,handler(eventObject)])379
9.5.2 jQuery.event.remove(elem,types,handler,selector,mappedTypes)382
9.6事件响应388
9.6.1主监听函数388
9.6.2 jQuery.event.dispatch(event)390
9.7手动触发事件396
9.7.1 .trigger(eventType[,extraParameters])、.triggerHandler(eventType[,extraParameters])396
9.7.2 jQuery.event.trigger(event,data,elem,onlyHandlers)397
9.8事件修正和模拟jQuery.event.special406
9.8.1 ready408
9.8.2 load408
9.8.3 focus、blur409
9.8.4 beforeunload409
9.8.5 mouseenter、mouseleave410
9.8.6 submit412
9.8.7 change413
9.8.8 focusin、focusout416
9.8.9 jQuery.event.simulate(type,elem,event,bubble)417
9.9事件便捷方法418
9.10组合方法419
9.10.1 .toggle(handler(eventObject),handler(eventObject)[,handler(eventObject)])419
9.10.2 .hover(handlerIn(eventObject)[,handlerOut(eventObject)])421
9.11 ready事件421
9.11.1总体结构421
9.11.2 .ready(handler)424
9.11.3 jQuery.bindReady()424
9.11.4 jQuery.holdReady(hold)427
9.11.5 jQuery.ready(wait)428
9.12总结430
第10章 DOM遍历Traversing433
10.1总体结构434
10.2遍历函数435
10.3工具函数437
10.3.1 jQuery.dir(elem,dir,until)437
10.3.2 jQuery.nth(cur,result,dir,elem)439
10.3.3 jQuery.sibling(n,elem)440
10.4模板函数441
10.5总结443
第11章 DOM操作Manipulation444
11.1总体结构444
11.2插入元素445
11.2.1核心方法.domManip(args,table,callback)445
11.2.2 .append(content[,content])451
11.2.3 .prepend(content[,content])452
11.2.4 .before(content[,content])452
11.2.5 .after(content[,content])452
11.2.6 .appendTo(target)、.prependTo(target)、.insertBefore(target)、.insertAfter(target)453
11.2.7 .html([value])454
11.2.8 .text([text])458
11.3删除元素459
11.3.1 .remove(selector,keepData)459
11.3.2 .empty()460
11.3.3 .detach(selector)460
11.4复制元素461
11.4.1 .clone(dataAndEvents,deepDataAndEvents)461
11.4.2 jQuery.clone(elem,dataAndEvents,deepDataAndEvents)461
11.4.3 cloneFixAttributes(src,dest)465
11.5替换元素467
11.5.1 .replaceWith(value)467
11.5.2 .replaceAll(target)469
11.6包裹元素469
11.6.1 .wrapAll(html)469
11.6.2 .wrapInner(html)470
11.6.3 .wrap(html)471
11.6.4 .unwrap()471
11.7总结472
第12章 样式操作CSS474
12.1内联样式、计算样式475
12.1.1总体结构475
12.1.2 .css(name,value)476
12.1.3 jQuery.style(elem,name,value,extra)477
12.1.4 jQuery.css(elem,name,extra)481
12.1.5 curCSS(elem,name)、getComputedStyle(elem,name)、currentStyle(elem,name)483
12.1.6 jQuery.cssHooks486
12.2坐标Offset492
12.2.1总体结构492
12.2.2 .offset(options)493
12.2.3 jQuery.offset.setOffset(elem,options,i)498
12.2.4 jQuery.offset.bodyOffset(body)500
12.2.5 .position()501
12.2.6 .offsetParent()502
12.2.7 .scrollLeft(val)、.scrollTop(val)503
12.3尺寸Dimensions504
12.3.1总体结构504
12.3.2 getWH(elem,name,extra)505
12.3.3 .innerHeight()、.innerWidth(508
12.3.4 .outerHeight(margin)、.outerWidth(margin)509
12.3.5 .height(size)、.width(size)509
12.3.6小结513
12.4总结513
第13章 异步请求Ajax516
13.1总体结构517
13.2 jQuery.ajax(url,options)519
13.3前置过滤器、请求发送器的初始化和执行540
13.3.1初始化540
13.3.2执行543
13.4前置过滤器545
13.4.1 json、jsonp545
13.4.2 script548
13.4.3小结549
13.5请求发送器549
13.5.1 script549
13.5.2 XMLHttpRequest552
13.5.3小结560
13.6数据转换器561
13.6.1初始化561
13.6.2执行562
13.6.3小结566
13.7 Ajax事件567
13.8便捷方法568
13.8.1 jQuery.get(url,data,callback,type)、jQuery.post(url,data,callback,type)569
13.8.2 jQuery.getJSON(url,data,callback)、jQuery.getScript(url,callback)569
13.8.3 .load(url,params,callback)570
13.9工具方法573
13.9.1 .serialize()573
13.9.2 jQuery.param(a,traditional)574
13.9.3 .serializeArray()577
13.10总结579
第14章 动画Effects582
14.1总体结构583
14.2动画入口586
14.2.1 .animate(prop,speed,easing,callback)586
14.2.2 jQuery.speed(speed,easing,fn)588
14.2.3 doAnimation()590
14.2.4 jQuery.fx(elem,options,prop)595
14.2.5 jQuery.fx.prototype.show()595
14.2.6 jQuery.fx.prototype.hide()596
14.2.7小结596
14.3动画执行597
14.3.1 jQuery.fx.prototype.custom(from,to,unit)598
14.3.2 jQuery.fx.tick()599
14.3.3 jQuery.fx.prototype.step(gotoEnd)600
14.3.4 jQuery.easing604
14.3.5 jQuery.fx.prototype.update()604
14.3.6 jQuery.fx.step605
14.4停止动画.stop(type,clearQueue,gotoEnd)606
14.5便捷方法609
14.5.1生成动画样式集genFx(type,num)609
14.5.2显示隐藏.show/hide/toggle()610
14.5.3渐显渐隐.fadeIn/fadeOut/fadeTo/fadeToggle()613
14.5.4滑入滑出.slideDown/slidUp/slideToggle()614
14.6总结615