图书介绍

jQuery技术内幕 深入解析jQuery架构设计与实现原理PDF|Epub|txt|kindle电子书版本网盘下载

jQuery技术内幕 深入解析jQuery架构设计与实现原理
  • 高云著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111440826
  • 出版时间:2014
  • 标注页数:616页
  • 文件大小:114MB
  • 文件页数:634页
  • 主题词:JAVA语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

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

热门推荐