├── .gitignore ├── Chrome开发者工具 ├── README.MD ├── 主功能区域 │ ├── Application.MD │ ├── Audits.MD │ ├── NetWork.MD │ ├── ProFiles.MD │ ├── Security.MD │ ├── Sources.MD │ ├── Timeline.MD │ ├── console.MD │ ├── console.html │ └── elements.MD ├── 切换浏览设备 │ └── README.MD └── 审查元素 │ ├── README.MD │ └── 审查元素.html ├── DOM2 ├── DOM2事件 │ ├── 1、事件基础 │ │ ├── 3、冒泡和捕获.html │ │ ├── 4、事件委托.html │ │ ├── 5、事件委托应用-N及菜单.html │ │ ├── README.md │ │ ├── 事件捕获.html │ │ ├── 鼠标放大镜左侧商品.html │ │ ├── 鼠标放大镜左侧商品2.html │ │ ├── 鼠标放大镜左侧商品3.html │ │ ├── 鼠标跟随移动.html │ │ └── 鼠标跟随移动2.html │ ├── 2、基础事件库和拖拽 │ │ ├── 2、DOM二级事件绑定问题.html │ │ ├── 3、事件兼容性问题总结.html │ │ ├── 4、兼容性解决this关键字.html │ │ ├── 5、兼容性解决执行顺序--2封装.html │ │ ├── 5、兼容性解决执行顺序.html │ │ ├── 6、off和run执行时数组塌陷问题.html │ │ ├── 7、解决全部兼容性问题.html │ │ ├── 8、基本的拖拽效果.html │ │ ├── 8、基本的拖拽效果2重构.html │ │ ├── 8、基本的拖拽效果3优化.html │ │ ├── 9、拖拽加动画效果-2过界判断.html │ │ ├── 9、拖拽加动画效果-3自由落体.html │ │ ├── 9、拖拽加动画效果.html │ │ ├── DOM二级事件.html │ │ └── README.md │ ├── 3、事件和观察者模式 │ │ ├── 2、完善事件方案on-run-off.html │ │ ├── 3、模块化开发拖拽效果-2带图片的盒子优化.html │ │ ├── 3、模块化开发拖拽效果.html │ │ ├── 4、模块化开发拖拽效果+设计模式.html │ │ ├── 5、理解设计模式.html │ │ ├── 6、完善tween+drag+tween │ │ │ ├── drag.js │ │ │ ├── event.js │ │ │ ├── index.html │ │ │ ├── tool.js │ │ │ └── tween.js │ │ ├── 8、闭包风格的拖拽 │ │ │ ├── event.js │ │ │ ├── index-2优化.html │ │ │ ├── index-3面向对象的拖拽.html │ │ │ ├── index-4面向对象+设计模式+继承.html │ │ │ └── index.html │ │ ├── event3.js │ │ └── logo.jpg │ ├── 封装的事件库 │ │ ├── 封装的事件库-第三次.js │ │ └── 封装的事件库-第二次.js │ └── 放大镜 │ │ ├── img │ │ ├── peony.jpg │ │ └── smallPeony.jpg │ │ ├── index.html │ │ ├── index2.html │ │ └── index3.html ├── DOM2范围 │ └── readme.md ├── DOM2遍历 │ └── readme.md └── JS操作CSS │ ├── 1、返回顶部的案例 │ ├── README.md │ └── toTop.html │ ├── 2、单张静态图片延迟加载 │ ├── README.md │ └── 静态图片延迟加载.html │ ├── 3、多张图片延迟加载 │ ├── README.md │ ├── img │ │ ├── 1.jpg │ │ ├── 10.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ ├── 4.jpg │ │ ├── 5.jpg │ │ ├── 6.jpg │ │ ├── 7.jpg │ │ ├── 8.jpg │ │ ├── 9.jpg │ │ └── ddd.jpg │ ├── js │ │ └── json.js │ └── 多张图片延迟加载.html │ └── readme.md ├── DOM操作和封装DOM库 ├── DOM操作.md ├── DOM面向对象.md ├── tool.js └── 封装DOM库.md ├── JSON ├── JSON语法.md ├── readme.md └── 解析与序列化.md ├── JS算法原理 └── JS中的常见算法.md ├── JS高级技巧 ├── readme.md ├── 防篡改对象.md ├── 高级函数.md └── 高级定时器.md ├── README.md ├── img ├── icon.png ├── path1 │ ├── dataType.png │ ├── javascript.png │ └── typeChange.jpg ├── path2 │ ├── 函数名的原理解析.png │ ├── 函数名的原理解析.psd │ ├── 原型模式的弊端.png │ └── 原型模式的弊端.psd ├── 作用域链查找.jpg ├── 作用域链查找.psd ├── 构造函数的原型.jpg ├── 构造函数的原型.psd ├── 继承-原型继承原理.png ├── 继承-原型继承原理.psd ├── 预解释分析.jpg └── 预解释分析.psd ├── index.js ├── test-file.html ├── test.css ├── 函数初识 ├── 1.函数定义.js ├── 2.toString.js └── README.md ├── 前端开发初识 ├── 1.开发环境介绍.html ├── 10.数据类型.js ├── 11.数据类型判断.js ├── 12.变量的类型可以被随时改变.js ├── 13.console.js ├── 2.HTML标签介绍.html ├── 3.HTML标签的全局属性.html ├── 4.JS由哪些部分组成.html ├── 5.HTML中怎么写JS.html ├── 6.HTML中怎么写CSS.html ├── 6.HTML中怎么写CSS2.html ├── 7.noscript标签引申的2种编程思想.html ├── 8.CSS3中两种方案.html ├── 9.变量的定义和赋值.js ├── README.MD ├── src │ └── btn.js └── wui │ └── color.css ├── 动画与定时器的应用 ├── README.md ├── twenn动画 │ ├── 1、基础思路 │ │ ├── 基础框架思路.html │ │ ├── 基础框架思路去耦合-优化1-透明度.html │ │ ├── 基础框架思路去耦合-优化2-透明度.html │ │ ├── 基础框架思路去耦合-优化3-多方向封装.html │ │ ├── 基础框架思路去耦合-优化4-多方向效果.html │ │ └── 基础框架思路去耦合.html │ ├── README.md │ ├── jquery动画的计算公式.js │ └── 百叶窗 │ │ ├── img │ │ └── zhume.jpg │ │ ├── index.html │ │ ├── index2.html │ │ └── starMove方法-优化3.js ├── 基础动画库以动画原理 │ ├── README.md │ ├── move1.html │ ├── move2.html │ ├── move3.html │ └── move4.html ├── 封装动画库 │ ├── README.md │ ├── starMove方法-优化2.js │ ├── starMove方法-优化3.js │ ├── starMove方法.js │ └── 封装简单动画库.html └── 用封装的动画库做焦点图、自动轮播图 │ ├── tool.js │ ├── 无缝轮播图.html │ ├── 无缝轮播图优化.html │ ├── 最终的无缝轮播图.html │ ├── 焦点图.html │ └── 轮播图.html ├── 变量声明和原理 ├── 1.var.js ├── 2.const和let.js ├── 3.let和var.js ├── README.MD └── 数据储存原理.js ├── 数据类型初识 ├── 0.各种数据类型.js ├── 1.String.js ├── 2.Number.js ├── 3.Boolean.js ├── 4.null和undefined.js ├── 5.Object.js ├── 6.Symbol.js ├── 6.Symbol2.js └── README.MD ├── 数据类型详解 ├── readme.md ├── 模块化开发日历控件 │ ├── Calendar.html │ ├── Calendar2.html │ ├── Calendar3.html │ ├── Calendar4.html │ ├── Calendar5.html │ └── README.md └── 表格排序的写法和排序 │ ├── css │ └── table.css │ ├── js │ ├── jsonPerson.js │ ├── table.js │ └── tools.js │ └── table.html ├── 模块化开发 ├── readme.md └── tabModel │ ├── css │ └── tabModel.css │ ├── js │ ├── index.js │ └── tool.js │ └── tabModel.html ├── 正则表达式 ├── 1.正则基础.md ├── 2.正则的组成.md ├── 3.元字符的应用.md ├── 4.正则的捕获.md ├── 5.分组捕获.md ├── 6.replace和实战.md ├── 7.正则总结.md └── readme.md ├── 研究Array类 └── README.md ├── 研究Boolean类 └── README.md ├── 研究Data类 └── README.md ├── 研究Function类 └── README.md ├── 研究Math类 └── README.md ├── 研究Number类 └── README.md ├── 研究Object类 └── README.md ├── 研究String类 └── README.md ├── 研究全局对象 ├── README.md └── Timers │ ├── Timers.md │ └── index.html ├── 表达式和运算符 ├── 1.%运算符.js ├── 2.算术运算符.js ├── 3.关系运算符.js ├── 4.相等运算符.js ├── 5.逻辑运算符.js ├── 6.位运算符.js ├── 7.三元运算符.js └── README.MD ├── 语句 └── README.md ├── 错误处理与调试 └── README.md ├── 面向对象和继承方式 ├── 函数的三种角色理解.md ├── 创建对象的方式.md ├── 理解对象.md └── 继承的几种方法.md └── 预解释-作用域-this关键字-闭包 ├── 1.预解释的原理.md ├── this关键字.md ├── 作用域和闭包.md ├── 变量和属性不存在时候的区别.md ├── 垃圾回收机制.md ├── 投票的实现原理.md └── 闭包在什么场合下用.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | 6 | # Runtime data 7 | pids 8 | *.pid 9 | *.idea 10 | *.seed 11 | 12 | # Directory for instrumented libs generated by jscoverage/JSCover 13 | lib-cov 14 | 15 | # Coverage directory used by tools like istanbul 16 | coverage 17 | 18 | # nyc test coverage 19 | .nyc_output 20 | 21 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 22 | .grunt 23 | 24 | # node-waf configuration 25 | .lock-wscript 26 | 27 | # Compiled binary addons (http://nodejs.org/api/addons.html) 28 | build/Release 29 | 30 | # Dependency directories 31 | node_modules 32 | jspm_packages 33 | 34 | # Optional npm cache directory 35 | .npm 36 | 37 | # Optional REPL history 38 | .node_repl_history 39 | -------------------------------------------------------------------------------- /Chrome开发者工具/README.MD: -------------------------------------------------------------------------------- 1 | ##### chrome 开发者工具 2 | 3 | 我的chrome版本号 55.0.2883.87 m (64-bit),所有操作都是基于这个版本的; 4 | 5 |  6 | 7 | 进入开发者工具的方式:F12 (所有浏览器都可以用F12进入开发者工具),ChromeDev(开发者工具简称)按照类别可以分为下面几种 8 | 9 |  10 | 11 | 1. 审查元素 ctrl+shift+c 在页面上选择一个HTML元素并审查它 12 | 2. 切换浏览设备 ctrl+shift+m 切换在PC和手机上的样式; 13 | 3. 主功能目录区域 日常工作中常用功能的目录 14 | 4. 异常和错误提醒简介 抛出异常、资源请求错误、程序错误等简介 15 | 5. 个性化和设置ChromeDev 16 | 6. 关闭ChromeDev F12 17 | 7. 主功能面板区域 随着主功能目录的切换而切换,这里是ChromeDev的主要操作区域 18 | 8. 辅助功能区域 快捷键ESC进行开启和隐藏 19 | 20 | Chrome开发者工具提供了提示功能,当鼠标悬停在某些文字图标上的时候,会做一些人性化的提示,经常看一下,会有收获; 21 | 22 | Chrome浏览器还提供用PC,调试真机(手机); 23 | 24 | # 一、审查元素 25 | 26 | 在没有开启控制台的情况下,可以通过快捷键ctrl+shift+c直接开启控制台,并进入审查选择状态,在页面上选择一个HTML元素并审查它; 27 | 28 | - [审查元素](./审查元素/readme.md) 29 | 30 | # 二、切换浏览设备 31 | 32 | 切换在PC和手机上的样式,切换后需刷新,才能看到正确的适配; 33 | 34 | - [切换浏览设备](./切换浏览设备/readme.md) 35 | - [真机调试](./切换浏览设备/真机调试.md)、Chrome调整真机上的网页; 36 | 37 | # 三、主功能区域 38 | 39 | 工作中常用的功能 40 | 41 | 1. [Elements](./主功能区域/elements.md) 42 | 2. [Console](./主功能区域/console.md) 43 | 3. [NetWork](./主功能区域/NetWork.md) 44 | 4. [Sources](./主功能区域/Sources.md) 45 | 5. [Timeline](./主功能区域/Timeline.md) 46 | 6. [ProFiles](./主功能区域/ProFiles.md) 47 | 7. [Application](./主功能区域/Application.md) 48 | 8. [Security](./主功能区域/Security.md) 49 | 9. [Audits](./主功能区域/Audits.md) 50 | 51 | 上面这些标签的位置可以自由移动,可以根据自己的习惯进行移动; 52 | 53 | # 四、异常和错误提醒简介 54 | 55 | - [异常和错误提醒简介](./异常和错误提醒简介/readme.md) 56 | 57 | # 五、个性化和设置ChromeDev 58 | 59 | - [个性化和设置ChromeDev](./个性化和设置ChromeDev/readme.md) 60 | 61 | # 六、关闭ChromeDev 62 | 63 | 呃、就是关闭ChromeDev,没啥; 64 | 65 | # 八、辅助功能区域 66 | 67 | 1. [Console](./主功能区域/console.md) 68 | 1. 和主区域中console一样的功能,但是可以在任何主功能的面板展示的同时使用console,比如你可以在再开Element的时候,使用辅助区域的console; 69 | 2. 主区域的console和辅助区域console不能同时展开 70 | 2. [History](./辅助功能区域/History.md),历史信息 71 | 3. [Animations](./辅助功能区域/Animations.md),动画 72 | 4. [Network conditions](./辅助功能区域/Network-conditions.md),网络条件 73 | 5. [Rendering](./辅助功能区域/Rendering.md),渲染 74 | 6. [Remote devices](./辅助功能区域/Remote-devices.md),远程设备 75 | 7. [Sensors](./辅助功能区域/Sensors.md),传感器 76 | 8. [Search](./辅助功能区域/Search.md),全局搜索网页加载内容 77 | 9. [Quick source](./辅助功能区域/Quick-source.md),资源快捷展示 78 | -------------------------------------------------------------------------------- /Chrome开发者工具/主功能区域/Application.MD: -------------------------------------------------------------------------------- 1 | # Application 2 | 3 | 使用资源面板检查加载的所有资源,包括IndexedDB 、WebSQL数据库 、本地存储、cookies、应用程序缓存、图片、字体、样式表、JS等 4 | 5 |  6 | 7 | 1. 分类列表区域 8 | 2. 详细信息区域 -------------------------------------------------------------------------------- /Chrome开发者工具/主功能区域/Audits.MD: -------------------------------------------------------------------------------- 1 | # Audits 2 | 3 | 分析页面加载的过程,进而提供减少页面加载时间,提升响应速度的方案; 4 | 5 |  6 | 7 | 1. 分类列表区域 8 | 2. 详细信息区域 -------------------------------------------------------------------------------- /Chrome开发者工具/主功能区域/NetWork.MD: -------------------------------------------------------------------------------- 1 | # NetWork 2 | 3 | 了解需要哪些资源,资源的请求情况,方便优化页面加载性能(可以查看某个时间段加载了哪些文件,某个文件的加载时间等);最重要的是可以查看HTTP的请求头、返回内容等,在做AJAX相关开发的时候很常用; 4 | 5 |  6 | 7 | 1. NetWork操作 8 | 2. 信息筛选 9 | 3. 时间轴 10 | 4. 当前时间段的加载文件信息 11 | 5. 当前文件的加载详情 -------------------------------------------------------------------------------- /Chrome开发者工具/主功能区域/ProFiles.MD: -------------------------------------------------------------------------------- 1 | # ProFiles 2 | 3 | 分析WEB应用或者页面的执行事件以及内存使用情况; 4 | 5 |  6 | 7 | 1. ProFiles操作区域 8 | 2. 分类列表区域 9 | 3. 详细信息区域 -------------------------------------------------------------------------------- /Chrome开发者工具/主功能区域/Security.MD: -------------------------------------------------------------------------------- 1 | # Security 2 | 3 | 调试混合内容问题,安全证书或者更多安全相关的问题 4 | 5 |  6 | 7 | 1. 分类列表区域 8 | 2. 详细信息区域 -------------------------------------------------------------------------------- /Chrome开发者工具/主功能区域/Sources.MD: -------------------------------------------------------------------------------- 1 | # Sources 2 | 3 | 使用断点调试JavaScript,或在连接你本地文件的情况下,进行同步编辑,(当然也是可以查看加载了哪些路径下的文件) 4 | 5 |  6 | 7 | 1. 当前页面加载的文件 8 | 2. 文件的具体内容(可设断点) 9 | 3. 断点的详情 -------------------------------------------------------------------------------- /Chrome开发者工具/主功能区域/Timeline.MD: -------------------------------------------------------------------------------- 1 | # Timeline 2 | 3 | 提供加载页面时花费时间的完整分析,所有事件,从下载资源到处理JS,计算CSS样式等花费的时间都展示在TimeLine中,页面性能的概要; 4 | 5 |  6 | 7 | 1. Timeline操作 8 | 2. 当前目标时间段 9 | 3. 当前时间端的交互 10 | 4. 详细 11 | 5. 详细分析 -------------------------------------------------------------------------------- /Chrome开发者工具/主功能区域/console.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 |A | 13 |A | 14 |A | 15 |
bbb | 18 |aaa | 19 |ccc | 20 |
111 | 23 |333 | 24 |222 | 25 |
hello word!
30 | 31 | 32 | 33 |  34 | 图片引自高程三; 35 | 36 | 从 document 开始依序向前,访问的第一个节点是 document ,访问的最后一个节点是包含"world!" 的文本节点。从文档最后的文本节点开始,遍历可以反向移动到 DOM 树的顶端。此时,访问的第一个节点是包含 "Hello" 的文本节点,访问的最后一个节点是 document 节点,** NodeIterator 和 TreeWalker 都以这种方式执行遍历**。 37 | 38 | # NodeIterator 39 | 40 | # TreeWalker 41 | 42 | -------------------------------------------------------------------------------- /DOM2/JS操作CSS/1、返回顶部的案例/README.md: -------------------------------------------------------------------------------- 1 | #返回顶部的案例 2 | 3 | 返回顶部的原理: 4 | 5 | 1、当页面在第一屏的时候,返回顶部的按钮是隐藏的;这个时候直接用display:none就可以了;当鼠标滚动到下一屏的时候,返回顶部的按钮会显示出来,把display设置为block; 6 | 7 | 2、当返回顶部的按钮显示的时候,点击或返回顶部;这个时候,需要把display设置为隐藏;然后让scrollTop不断的减数组; 8 | 9 | 后续再动画的文件夹内,优化成以减速度返回顶部; -------------------------------------------------------------------------------- /DOM2/JS操作CSS/1、返回顶部的案例/toTop.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |编辑器:webstorm/vscode
10 |浏览器:chrome
11 |这是p标签1
13 |这是p标签2
17 | 百度一下,你就知道 18 |ddasdasdasdasdasdasd
23 |ddasdasdasdasdasdasd
24 |ddasdasdasdasdasdasd
26 |222
34 |1 | 50 |2 | 51 |3 | 52 |
1 | 55 |2 | 56 |3 | 57 |
22222
29 |22222
30 |dads
37 |你确定提交修改的信息吗?
71 | 72 | -------------------------------------------------------------------------------- /前端开发初识/6.HTML中怎么写CSS2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |这是高亮的
16 |这是警告信息
17 | 18 | -------------------------------------------------------------------------------- /前端开发初识/7.noscript标签引申的2种编程思想.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |这是一段文字
9 | 10 | 11 | 14 | 15 | -------------------------------------------------------------------------------- /前端开发初识/8.CSS3中两种方案.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |学习JavaScript是一件很有趣的事,可以做出很多自豪的小玩意!--broszhu (这个页面是实现原理:点此查看)
16 |21 | 22 | | 23 |姓名 | 24 |年龄 | 25 |邮箱 | 26 |手机 | 27 |工资 | 28 |
---|
模块化开发,把一个效果分为不同的DOM库模块;以后可以加快开发力度;
模块化开发,把一个效果分为不同的DOM库模块;以后可以加快开发力度;
模块化开发,把一个效果分为不同的DOM库模块;以后可以加快开发力度;