找回密码
 立即注册
查看: 10|回复: 0

前端工程师就业班【66GB,完整版】--MKW

[复制链接]

240

主题

0

回帖

3920

积分

管理员

积分
3920
发表于 前天 12:21 | 显示全部楼层 |阅读模式

下载地址:
游客,如果您要查看本帖隐藏内容请回复


【课程目录】

├─2019前端开发工程师(阶段一)-前端零基础入门
│  └─1.前端零基础入门 2019版
│      ├─1.步骤一:页面结构层HTML
│      │  ├─1.HTML基础
│      │  │      1-1html基础课程介绍~1.mp4
│      │  │      1-2 HTML基础语法~1.mp4
│      │  │      2-1 文档声明和META标签~1.mp4
│      │  │      2-15 修饰标签和特殊符号~1.mp4
│      │  │      2-6 文字和段落~1.mp4
│      │  │      3-1 列表标签-无序列表~1.mp4
│      │  │      3-12 列表标签应用场景~1.mp4
│      │  │      3-5 列表标签-有序列表~1.mp4
│      │  │      3-9 列表标签-定义列表~1.mp4
│      │  │      4-1 图像~1.mp4
│      │  │      4-15 锚链接(同一页面)~1.mp4
│      │  │      4-21 锚链接(不同页面)~1.mp4
│      │  │      4-26 链接扩展功能~1.mp4
│      │  │      4-6 超链接(基础)~1.mp4
│      │  │      4-8 超链接(空链接-target-title属性)~1.mp4
│      │  │      
│      │  ├─2.HTML表格
│      │  │      步骤一 · 1-1 基础表格~1.mp4
│      │  │      步骤一 · 2-1 表格操作~1.mp4
│      │  │      步骤一 · 2-14 表格属性(2)~1.mp4
│      │  │      步骤一 · 2-17 表格跨行列~1.mp4
│      │  │      步骤一 · 2-21 表格嵌套~1.mp4
│      │  │      步骤一 · 2-5 带标题、表头和结构的表格~1.mp4
│      │  │      步骤一 · 2-9 表格属性(1~1.mp4
│      │  │      步骤一 · 3-1 表格布局(1)~1.mp4
│      │  │      步骤一 · 3-3 表格布局(2)~1.mp4
│      │  │      步骤一 · 4-1 课程总结~1.mp4
│      │  │      
│      │  ├─3.HTML表单
│      │  │      步骤一 · 1-1 表单介绍~1.mp4
│      │  │      步骤一 · 1-6 搭建表单页面结构~1.mp4
│      │  │      步骤一 · 2-1 input标签(文本域和文件域)~1.mp4
│      │  │      步骤一 · 2-10 input标签(单选框和复选框)~1.mp4
│      │  │      步骤一 · 2-15 input标签(按钮)~1.mp4
│      │  │      步骤一 · 2-19 input标签(图像域和隐藏域)~1.mp4
│      │  │      步骤一 · 2-23 select标签(下拉菜单和列表)~1.mp4
│      │  │      步骤一 · 2-27 select标签(分组下拉菜单和列表)~1.mp4
│      │  │      步骤一 · 2-30 textarea(多行文本域)~1.mp4
│      │  │      步骤一 · 3-1 表单页面调整~1.mp4
│      │  │      步骤一 · 3-2 表单属性~1.mp4
│      │  │      步骤一 · 4-1 表单总结~1.mp4
│      │  │      
│      │  └─4.项目:搭建网页结构
│      │          步骤一 · 1-1 课程介绍~1.mp4
│      │          步骤一 · 2-1 div和span与块级和行内标签~1.mp4
│      │          步骤一 · 2-10 HTML结构分析~1.mp4
│      │          步骤一 · 2-6 标签嵌套~1.mp4
│      │          步骤一 · 3-1 网页整体结构~1.mp4
│      │          步骤一 · 3-5 网页内部HTML代码实现~1.mp4
│      │         
│      ├─2.步骤二:页面化妆师CSS
│      │  ├─1.CSS选择的艺术
│      │  │      步骤二 · 1-1 课程介绍~1.mp4
│      │  │      步骤二 · 2-1 css基础语法~1.mp4
│      │  │      步骤二 · 2-12 CSS使用方法优先级~1.mp4
│      │  │      步骤二 · 2-5 CSS使用方法(1)~1.mp4
│      │  │      步骤二 · 2-9 CSS使用方法(2)~1.mp4
│      │  │      步骤二 · 3-1 选择器(标签选择器和类选择器)~1.mp4
│      │  │      步骤二 · 3-10 群组选择器和全局选择器~1.mp4
│      │  │      步骤二 · 3-15 css后代选择器~1.mp4
│      │  │      步骤二 · 3-19 伪类选择器~1.mp4
│      │  │      步骤二 · 3-6 选择器(ID选择器)~1.mp4
│      │  │      步骤二 · 4-1 CSS继承和层叠~1.mp4
│      │  │      步骤二 · 4-11 css权值~1.mp4
│      │  │      步骤二 · 4-16 css权值和优先级~1.mp4
│      │  │      步骤二 · 4-4 css选择器优先级~1.mp4
│      │  │      步骤二 · 5-1 CSS命名规范~1.mp4
│      │  │      步骤二 · 5-3 课程总结~1.mp4
│      │  │      
│      │  ├─2.CSS文本样式
│      │  │      步骤二 · 1-1 课程介绍~1.mp4
│      │  │      步骤二 · 2-1 字体属性~1.mp4
│      │  │      步骤二 · 2-11 文字样式(其他)~1.mp4
│      │  │      步骤二 · 2-16 简写font属性~1.mp4
│      │  │      步骤二 · 2-5 字体大小(font-size)~1.mp4
│      │  │      步骤二 · 2-8 字体颜色(color)~1.mp4
│      │  │      步骤二 · 3-1 文本对齐方式(text-align)~1.mp4
│      │  │      步骤二 · 3-10 vertical-align~1.mp4
│      │  │      步骤二 · 3-13 文本样式其他属性~1.mp4
│      │  │      步骤二 · 3-5 行高(line-height)~1.mp4
│      │  │      步骤二 · 4-1 css文本样式应用~1.mp4
│      │  │      步骤二 · 4-4 课程总结~1.mp4
│      │  │      
│      │  ├─3.盒子模型
│      │  │      步骤二 · 1-1 课程介绍~1.mp4
│      │  │      步骤二 · 2-1 盒子模型概念~1.mp4
│      │  │      步骤二 · 3-1 width属性~1.mp4
│      │  │      步骤二 · 3-13 border边框属性~1.mp4
│      │  │      步骤二 · 3-18 padding填充属性~1.mp4
│      │  │      步骤二 · 3-23 margin外边距属性~1.mp4
│      │  │      步骤二 · 3-29 盒子计算~1.mp4
│      │  │      步骤二 · 3-5 height属性~1.mp4
│      │  │      步骤二 · 3-9 哪些元素可设置width和height属性~1.mp4
│      │  │      步骤二 · 4-1 display属性~1.mp4
│      │  │      步骤二 · 4-6 案例应用~1.mp4
│      │  │      步骤二 · 4-8 课程总结~1.mp4
│      │  │      
│      │  ├─4.CSS背景和列表
│      │  │      步骤二 · 1-1 课程介绍~1.mp4
│      │  │      步骤二 · 2-1 background-color~1.mp4
│      │  │      步骤二 · 2-10 background-attachment~1.mp4
│      │  │      步骤二 · 2-12 background-position~1.mp4
│      │  │      步骤二 · 2-16 background~1.mp4
│      │  │      步骤二 · 2-4 background-image~1.mp4
│      │  │      步骤二 · 2-7 background-repeat~1.mp4
│      │  │      步骤二 · 3-1 list-style-type~1.mp4
│      │  │      步骤二 · 3-4 list-style-image~1.mp4
│      │  │      步骤二 · 3-6 list-style-position~1.mp4
│      │  │      步骤二 · 3-9 list-style~1.mp4
│      │  │      步骤二 · 4-1 课程总结~1.mp4
│      │  │      
│      │  ├─5.float浮动
│      │  │      步骤二 · 1-1 课程介绍~1.mp4
│      │  │      步骤二 · 2-1 普通流介绍~1.mp4
│      │  │      步骤二 · 2-10 清除浮动语法~1.mp4
│      │  │      步骤二 · 2-11 清除浮动的常用方法~1.mp4
│      │  │      步骤二 · 2-13 清除浮动其它方法~1.mp4
│      │  │      步骤二 · 2-2 浮动的基础知识~1.mp4
│      │  │      步骤二 · 2-8 使用浮动后产生的问题~1.mp4
│      │  │      步骤二 · 3-1 Float案例演示(1)~1.mp4
│      │  │      步骤二 · 3-2 Float案例演示(2)~1.mp4
│      │  │      步骤二 · 3-3 Float案例演示(3)~1.mp4
│      │  │      步骤二 · 4-1 课程总结~1.mp4
│      │  │      
│      │  ├─6.CSS定位(position)
│      │  │      步骤二 · 1-1 课程简介~1.mp4
│      │  │      步骤二 · 2-1 position-static~1.mp4
│      │  │      步骤二 · 2-12 position-fixed~1.mp4
│      │  │      步骤二 · 2-15 position-sticky~1.mp4
│      │  │      步骤二 · 2-5 position-relative~1.mp4
│      │  │      步骤二 · 2-8 position-absolute~1.mp4
│      │  │      步骤二 · 3-1 总结~1.mp4
│      │  │      步骤二 · 4-1 定位和边距的区别以及弹出层的简单实例~1.mp4
│      │  │      步骤二 · 4-2 侧边栏导航跟随案例~1.mp4
│      │  │      
│      │  ├─7.CSS网页布局基础
│      │  │      步骤二 · 1-1 课程介绍~1.mp4
│      │  │      步骤二 · 2-1 经典的行布局(1)~1.mp4
│      │  │      步骤二 · 2-11 经典的三列布局~1.mp4
│      │  │      步骤二 · 2-13 混合布局~1.mp4
│      │  │      步骤二 · 2-5 经典的行布局(2)~1.mp4
│      │  │      步骤二 · 2-8 经典的两列布局~1.mp4
│      │  │      步骤二 · 3-1 圣杯布局(了解即可)~1.mp4
│      │  │      步骤二 · 3-2 圣杯布局案例(了解即可)~1.mp4
│      │  │      步骤二 · 3-4 双飞翼布局及案例(了解即可)~1.mp4
│      │  │      步骤二 · 4-1 课程总结~1.mp4
│      │  │      
│      │  ├─8.项目:网页布局案例
│      │  │      步骤二 · 1-1 课程介绍~1.mp4
│      │  │      步骤二 · 1-2 思路分析~1.mp4
│      │  │      步骤二 · 2-1 头部的制作~1.mp4
│      │  │      步骤二 · 2-3 主体上面的图片~1.mp4
│      │  │      步骤二 · 2-6 主体部分的中间~1.mp4
│      │  │      步骤二 · 2-9 页面的底部~1.mp4
│      │  │      
│      │  └─9.CSS基础测试
│      ├─3.步骤三:页面升级结构HTML5
│      │  ├─1.HTML5标签变化
│      │  │      步骤三 · 1-1 HTML5简介~1.mp4
│      │  │      步骤三 · 2-1 doctype~1.mp4
│      │  │      步骤三 · 2-4 DTD~1.mp4
│      │  │      步骤三 · 3-1 结构标签~1.mp4
│      │  │      步骤三 · 3-10 多媒体标签的意义~1.mp4
│      │  │      步骤三 · 3-12 状态标签~1.mp4
│      │  │      步骤三 · 3-16 列表标签~1.mp4
│      │  │      步骤三 · 3-2 结构标签简单使用~1.mp4
│      │  │      步骤三 · 3-20 注释标签~1.mp4
│      │  │      步骤三 · 3-22 其他标签~1.mp4
│      │  │      步骤三 · 3-4 结构标签使用补充~1.mp4
│      │  │      步骤三 · 3-6 audio~1.mp4
│      │  │      步骤三 · 3-7 video~1.mp4
│      │  │      步骤三 · 3-8 embed~1.mp4
│      │  │      步骤三 · 4-1 删除的标签~1.mp4
│      │  │      步骤三 · 4-3 重定义标签~1.mp4
│      │  │      
│      │  ├─2.HTML5属性变化
│      │  │      步骤三 · 1-1 课程概述~1.mp4
│      │  │      步骤三 · 2-1 input新增类型(email_url_tel_number)~1.mp4
│      │  │      步骤三 · 2-10 input新增类型(range_search_color)~1.mp4
│      │  │      步骤三 · 2-6 input(datepickers)~1.mp4
│      │  │      步骤三 · 3-1 form(autocomplete属性)~1.mp4
│      │  │      步骤三 · 3-13 form(placeholder属性)~1.mp4
│      │  │      步骤三 · 3-17 form(required属性)~1.mp4
│      │  │      步骤三 · 3-5 form(autofocus属性)~1.mp4
│      │  │      步骤三 · 3-9 form(multiple属性)~1.mp4
│      │  │      步骤三 · 4-1 链接标签属性~1.mp4
│      │  │      步骤三 · 4-13 html和style属性~1.mp4
│      │  │      步骤三 · 4-5 script标签属性~1.mp4
│      │  │      步骤三 · 4-9 ol标签属性~1.mp4
│      │  │      
│      │  ├─3.项目:H5布局
│      │  │      步骤三 · 1-1 html5页面布局概述~1.mp4
│      │  │      步骤三 · 1-2 html5页面布局(结构层)~1.mp4
│      │  │      步骤三 · 2-1 html5页面布局(表现层_header)~1.mp4
│      │  │      步骤三 · 2-3 html5页面布局(表现层_banner)~1.mp4
│      │  │      步骤三 · 2-4 html5页面布局(表现层_main)~1.mp4
│      │  │      步骤三 · 2-6 html5页面布局(表现层_footer)~1.mp4
│      │  │      步骤三 · 3-1 html5页面布局(兼容)~1.mp4
│      │  │      
│      │  └─4.HTML5基础测试
│      ├─4.步骤四:升级页面化妆师CSS3
│      │  ├─1.CSS3选择器
│      │  │      步骤四 · 1-1 CSS3选择器课程介绍~1.mp4
│      │  │      步骤四 · 2-1 基本选择器~1.mp4
│      │  │      步骤四 · 2-16 动态伪类~1.mp4
│      │  │      步骤四 · 2-20 UI元素状态伪类~1.mp4
│      │  │      步骤四 · 2-23 结构类——First-Child和LastChild和nth-Child~1.mp4
│      │  │      步骤四 · 2-28 结构类——结构类参数(nth-child(n))~1.mp4
│      │  │      步骤四 · 2-32 结构类(其它)~1.mp4
│      │  │      步骤四 · 2-39 结构类——empty~1.mp4
│      │  │      步骤四 · 2-42 否定选择器~1.mp4
│      │  │      步骤四 · 2-43 css权重~1.mp4
│      │  │      步骤四 · 2-44 伪元素first-line(一)~1.mp4
│      │  │      步骤四 · 2-45 伪元素after(二)~1.mp4
│      │  │      步骤四 · 2-46 伪元素selection(三)~1.mp4
│      │  │      步骤四 · 2-7 属性选择器~1.mp4
│      │  │      
│      │  ├─2.CSS3边框与圆角
│      │  │      步骤四 · 1-1 圆角理论(边框和圆角)~1.mp4
│      │  │      步骤四 · 1-10 边界图片~1.mp4
│      │  │      步骤四 · 1-5 圆角案例~1.mp4
│      │  │      步骤四 · 1-6 盒阴影~1.mp4
│      │  │      
│      │  ├─3.CSS3背景与渐变
│      │  │      步骤四 · 1-1 课程介绍~1.mp4
│      │  │      步骤四 · 2-1 背景简介~1.mp4
│      │  │      步骤四 · 2-10 背景图像大小( background-size)~1.mp4
│      │  │      步骤四 · 2-14 多重背景图像~1.mp4
│      │  │      步骤四 · 2-16 背景属性整合~1.mp4
│      │  │      步骤四 · 2-2 背景图像区域( background-clip)~1.mp4
│      │  │      步骤四 · 2-6 背景图像定位( background-origin)~1.mp4
│      │  │      步骤四 · 3-1 线性渐变、上下、左右、对角~1.mp4
│      │  │      步骤四 · 3-11 线性渐变、角度、结点、透明(2)~1.mp4
│      │  │      步骤四 · 3-12 线性渐变-重复渐变~1.mp4
│      │  │      步骤四 · 3-15 径向渐变~1.mp4
│      │  │      步骤四 · 3-20 径向渐变-重复渐变~1.mp4
│      │  │      步骤四 · 3-22 IE渐变~1.mp4
│      │  │      步骤四 · 3-24 渐变应用~1.mp4
│      │  │      步骤四 · 3-6 线性渐变、角度、结点、透明(1)~1.mp4
│      │  │      
│      │  ├─4.CSS3文本与字体
│      │  │      步骤四 · 1-1 文本阴影(text-shadow)~1.mp4
│      │  │      步骤四 · 1-5 换行(word-break和word-wrap)~1.mp4
│      │  │      步骤四 · 1-6 新文本属性(text-align-last和text-overflow)~1.mp4
│      │  │      步骤四 · 2-1 @font-face语法规则~1.mp4
│      │  │      步骤四 · 2-3 @font-face取值说明~1.mp4
│      │  │      步骤四 · 2-4 @font-face字体格式~1.mp4
│      │  │      步骤四 · 2-6 @font-face字体的应用~1.mp4
│      │  │      步骤四 · 2-8 @font-face 获取特殊字体~1.mp4
│      │  │      
│      │  ├─5.CSS3转换
│      │  │      步骤四 · 1-1 transform简介~1.mp4
│      │  │      步骤四 · 2-1 rotate~1.mp4
│      │  │      步骤四 · 2-13 skew~1.mp4
│      │  │      步骤四 · 2-5 translate~1.mp4
│      │  │      步骤四 · 2-8 scale~1.mp4
│      │  │      步骤四 · 3-1 rotate3d~1.mp4
│      │  │      步骤四 · 3-4 translate3d~1.mp4
│      │  │      步骤四 · 3-8 scale3d~1.mp4
│      │  │      步骤四 · 4-1 transform与坐标系统~1.mp4
│      │  │      步骤四 · 5-1 矩阵理论~1.mp4
│      │  │      步骤四 · 5-2 矩阵实战~1.mp4
│      │  │      步骤四 · 5-5 3d矩阵~1.mp4
│      │  │      步骤四 · 6-1 transform-style~1.mp4
│      │  │      步骤四 · 6-4 perspective~1.mp4
│      │  │      步骤四 · 6-6 backface-visibility~1.mp4
│      │  │      
│      │  ├─6.CSS3过渡
│      │  │      步骤四 · 1-1 过渡的概念~1.mp4
│      │  │      步骤四 · 2-1 transition-property属性~1.mp4
│      │  │      步骤四 · 2-3 transition-duration属性~1.mp4
│      │  │      步骤四 · 2-5 transition-timing-function属性~1.mp4
│      │  │      步骤四 · 2-7 transition-delay属性~1.mp4
│      │  │      步骤四 · 3-1 transition简写~1.mp4
│      │  │      
│      │  ├─7.CSS3动画
│      │  │      步骤四 · 1-1 课程介绍~1.mp4
│      │  │      步骤四 · 2-1 animation-name~1.mp4
│      │  │      步骤四 · 2-12 animation-delay~1.mp4
│      │  │      步骤四 · 2-16 animation-iteration-count~1.mp4
│      │  │      步骤四 · 2-20 animation-direction~1.mp4
│      │  │      步骤四 · 2-23 animation-fill-mode~1.mp4
│      │  │      步骤四 · 2-25 animation-play-state~1.mp4
│      │  │      步骤四 · 2-27 animation~1.mp4
│      │  │      步骤四 · 2-5 animation-duration~1.mp4
│      │  │      步骤四 · 2-9 animation-timing-function~1.mp4
│      │  │      步骤四 · 3-1 @keyframes~1.mp4
│      │  │      步骤四 · 4-1 will-change原理~1.mp4
│      │  │      步骤四 · 4-4 will-change应用~1.mp4
│      │  │      
│      │  ├─8.项目:CSS3实现汉克狗案例
│      │  │      步骤四 · 1-1 课程简介~1.mp4
│      │  │      步骤四 · 2-1 汉克狗头部轮廓和耳朵~1.mp4
│      │  │      步骤四 · 2-11 汉克狗的腿和脚~1.mp4
│      │  │      步骤四 · 2-12 汉克狗最终动画效果~1.mp4
│      │  │      步骤四 · 2-3 汉克狗的眼窝~1.mp4
│      │  │      步骤四 · 2-5 汉克狗的眼球~1.mp4
│      │  │      步骤四 · 2-6 汉克狗的鼻子~1.mp4
│      │  │      步骤四 · 2-7 汉克狗的嘴巴~1.mp4
│      │  │      步骤四 · 2-8 汉克狗的牙齿和舌头~1.mp4
│      │  │      步骤四 · 2-9 汉克狗的身体和胳膊~1.mp4
│      │  │      
│      │  └─9.CSS3测试
│      ├─5.步骤五:让页面动起来的JS基础部分
│      │  ├─1.JS语法
│      │  │      步骤五 · 1-1 初识JavaScript~1.mp4
│      │  │      步骤五 · 2-1 JavaScript语法+变量~1.mp4
│      │  │      步骤五 · 3-1 JavaScript数据类型之undefined与null~1.mp4
│      │  │      步骤五 · 3-12 JavaScript数据类型之数值转换~1.mp4
│      │  │      步骤五 · 3-7 JavaScript数据类型之Number与isNaN~1.mp4
│      │  │      步骤五 · 4-1 JavaScript数据类型之String与boolean~1.mp4
│      │  │      步骤五 · 5-1 算数操作符~1.mp4
│      │  │      步骤五 · 5-9 其他操作符~1.mp4
│      │  │      步骤五 · 6-1 逻辑与~1.mp4
│      │  │      步骤五 · 6-6 逻辑或逻辑非~1.mp4
│      │  │      
│      │  ├─10.JS BOM基础
│      │  │      步骤五 · 1-1 window对象(全局对象)~1.mp4
│      │  │      步骤五 · 1-10 window对象方法(open和close)~1.mp4
│      │  │      步骤五 · 1-16 定时器 setTimeout~1.mp4
│      │  │      步骤五 · 1-22 定时器setInterval~1.mp4
│      │  │      步骤五 · 1-4 window对象方法(alert-confirm-prompt)~1.mp4
│      │  │      步骤五 · 2-1 location对象属性~1.mp4
│      │  │      步骤五 · 2-5 location对象方法~1.mp4
│      │  │      步骤五 · 3-1 history对象方法(back)~1.mp4
│      │  │      步骤五 · 3-4 history对象方法(forward)~1.mp4
│      │  │      步骤五 · 4-1 screen对象及属性~1.mp4
│      │  │      步骤五 · 5-1 navigator对象及属性(userAgent)(扩展)~1.mp4
│      │  │      
│      │  ├─11.项目:JS实现轮播图特效
│      │  │      步骤五 · 1-1 课程介绍~1.mp4
│      │  │      步骤五 · 2-1 焦点图结构及样式(1)~1.mp4
│      │  │      步骤五 · 2-2 焦点图结构及样式(2)~1.mp4
│      │  │      步骤五 · 2-3 主菜单(1)~1.mp4
│      │  │      步骤五 · 2-4 子菜单(2)~1.mp4
│      │  │      步骤五 · 3-1 事件绑定(1)~1.mp4
│      │  │      步骤五 · 3-2 事件绑定(2)~1.mp4
│      │  │      步骤五 · 3-3 按钮切换(1)~1.mp4
│      │  │      步骤五 · 3-4 按钮切换(2~1.mp4
│      │  │      步骤五 · 3-5 定时器~1.mp4
│      │  │      步骤五 · 3-6 菜单脚本(1)~1.mp4
│      │  │      步骤五 · 3-7 菜单脚本(2)~1.mp4
│      │  │      
│      │  ├─2.JS流程控制语句
│      │  │      步骤五 · 1-1 if语句~1.mp4
│      │  │      步骤五 · 1-5 if语句的嵌套~1.mp4
│      │  │      步骤五 · 1-9 switch~1.mp4
│      │  │      步骤五 · 2-1 for语句(最常用的循环)~1.mp4
│      │  │      步骤五 · 2-18 while循环~1.mp4
│      │  │      步骤五 · 2-9 for嵌套(最常用的循环)~1.mp4
│      │  │      步骤五 · 3-1 break与continue~1.mp4
│      │  │      
│      │  ├─3.JS函数
│      │  │      步骤五 · 1-1 函数的定义和调用~1.mp4
│      │  │      步骤五 · 1-12 arguments~1.mp4
│      │  │      步骤五 · 1-17 求任意一组数的平均值~1.mp4
│      │  │      步骤五 · 1-7 函数的返回值~1.mp4
│      │  │      
│      │  ├─4.JS内置对象
│      │  │      步骤五 · 1-1 javaScript中内置对象介绍~1.mp4
│      │  │      步骤五 · 2-1 Array数组(1)~1.mp4
│      │  │      步骤五 · 2-13 数组方法(push()-unshift()-pop()和shift())~1.mp4
│      │  │      步骤五 · 2-18 数组方法(join和sort)~1.mp4
│      │  │      步骤五 · 2-24 数组方法(concat和slice)~1.mp4
│      │  │      步骤五 · 2-28 数组方法(splice)~1.mp4
│      │  │      步骤五 · 2-33 数组方法(indexOf和lastIndexOf)~1.mp4
│      │  │      步骤五 · 2-8 Array数组(2)~1.mp4
│      │  │      步骤五 · 3-1 String(字符串检索方法)~1.mp4
│      │  │      步骤五 · 3-16 String综合应用~1.mp4
│      │  │      步骤五 · 3-20 String(split和replace)~1.mp4
│      │  │      步骤五 · 3-26 String(toUpperCase和toLowerCase)~1.mp4
│      │  │      步骤五 · 3-8 String(slice()-substring()和substr())~1.mp4
│      │  │      步骤五 · 4-1 Math对象(min()-max()-ceil()-floor()-round()和abs())~1.mp4
│      │  │      步骤五 · 4-5 Math对象(random())~1.mp4
│      │  │      步骤五 · 5-1 date(1)~1.mp4
│      │  │      步骤五 · 5-7 date(2)~1.mp4
│      │  │      
│      │  ├─5.错误调试与处理
│      │  │      步骤五 · 1-1 课程介绍~1.mp4
│      │  │      步骤五 · 2-1 语法错误~1.mp4
│      │  │      步骤五 · 2-2 运行时错误~1.mp4
│      │  │      步骤五 · 2-3 如何区分语法错误与运行时错误~1.mp4
│      │  │      步骤五 · 2-4 逻辑错误~1.mp4
│      │  │      步骤五 · 2-5 try-catch语句~1.mp4
│      │  │      步骤五 · 3-1 课程总结~1.mp4
│      │  │      
│      │  ├─6.JS DOM操作
│      │  │      步骤五 · 1-1 课程介绍~1.mp4
│      │  │      步骤五 · 2-1 document~1.mp4
│      │  │      步骤五 · 2-2 create系列创建节点的方法~1.mp4
│      │  │      步骤五 · 2-7 高效创建节点的方法(innerHTML-outerHTML)~1.mp4
│      │  │      步骤五 · 2-8 高效创建节点的方法 (innerText-outerText)~1.mp4
│      │  │      步骤五 · 3-1 节点遍历方法~1.mp4
│      │  │      步骤五 · 3-10 类数组对象 NodeList~1.mp4
│      │  │      步骤五 · 3-11 类数组对象 HTMLCollection~1.mp4
│      │  │      步骤五 · 3-13 类数组对象 NamedNodeMap~1.mp4
│      │  │      步骤五 · 3-15 类数组对象的动态性~1.mp4
│      │  │      步骤五 · 3-3 节点遍历实现~1.mp4
│      │  │      步骤五 · 3-6 节点遍历案例~1.mp4
│      │  │      步骤五 · 3-8 节点遍历(解决空白节点)~1.mp4
│      │  │      步骤五 · 4-1 getElementById()方法~1.mp4
│      │  │      步骤五 · 4-10 querySelector()和querySelectorAll()方法~1.mp4
│      │  │      步骤五 · 4-3 解决getElementById()的bug~1.mp4
│      │  │      步骤五 · 4-4 getElementsByName()方法~1.mp4
│      │  │      步骤五 · 4-6 getElementsByTagName()方法~1.mp4
│      │  │      步骤五 · 4-7 getElementsByClassName()方法~1.mp4
│      │  │      步骤五 · 4-9 解决getElementsByClassName()兼容性~1.mp4
│      │  │      步骤五 · 5-1 appendChild添加节点~1.mp4
│      │  │      步骤五 · 5-3 insertBefore~1.mp4
│      │  │      步骤五 · 5-4 replaceChild()方法~1.mp4
│      │  │      步骤五 · 5-6 cloneNode()方法~1.mp4
│      │  │      步骤五 · 5-7 normalize()方法~1.mp4
│      │  │      步骤五 · 5-8 splitText()方法~1.mp4
│      │  │      步骤五 · 6-1 removeChild()和removeNode()方法~1.mp4
│      │  │      步骤五 · 6-2 removeChild()与innerHTML比较~1.mp4
│      │  │      步骤五 · 7-1 课程总结~1.mp4
│      │  │      
│      │  ├─7.JS DOM属性
│      │  │      步骤五 · 1-1 课程介绍~1.mp4
│      │  │      步骤五 · 2-1 属性的分类~1.mp4
│      │  │      步骤五 · 2-10 getAttribute~1.mp4
│      │  │      步骤五 · 2-12 setAttribute~1.mp4
│      │  │      步骤五 · 2-14 removeAttribute~1.mp4
│      │  │      步骤五 · 2-3 固有属性~1.mp4
│      │  │      步骤五 · 2-4 自定义属性~1.mp4
│      │  │      步骤五 · 2-6 attributes~1.mp4
│      │  │      步骤五 · 3-1 认识布尔属性~1.mp4
│      │  │      步骤五 · 3-2 布尔属性详解~1.mp4
│      │  │      步骤五 · 3-3 字符串属性~1.mp4
│      │  │      步骤五 · 3-4 data属性~1.mp4
│      │  │      步骤五 · 3-6 自定义class操作方法~1.mp4
│      │  │      步骤五 · 3-7 classList~1.mp4
│      │  │      
│      │  ├─8.JS DOM事件
│      │  │      步骤五 · 1-1 课程介绍~1.mp4
│      │  │      步骤五 · 2-1 HTML事件~1.mp4
│      │  │      步骤五 · 2-10 DOM0级事件~1.mp4
│      │  │      步骤五 · 3-1 事件类型(onload)~1.mp4
│      │  │      步骤五 · 3-10 事件类型(onchange)~1.mp4
│      │  │      步骤五 · 3-14 事件类型(onresize和onscroll)~1.mp4
│      │  │      步骤五 · 3-5 事件类型(onfocus和onblur)~1.mp4
│      │  │      步骤五 · 4-1 键盘事件~1.mp4
│      │  │      
│      │  └─9.JS事件
│      │          步骤五 · 1-1 初识js事件~1.mp4
│      │          步骤五 · 2-1 事件定义(上)~1.mp4
│      │          步骤五 · 2-10 事件委托与事件冒泡(难点,多看几遍,多练习)~1.mp4
│      │          步骤五 · 2-14 Event对象属性与方法(难点,多看几遍,多练习)~1.mp4
│      │          步骤五 · 2-16 IE8中的Event对象属性与方法~1.mp4
│      │          步骤五 · 2-17 Event对象跨浏览器兼容性写法~1.mp4
│      │          步骤五 · 2-3 事件定义(下)~1.mp4
│      │          步骤五 · 2-4 事件解绑~1.mp4
│      │          步骤五 · 2-6 IE事件处理程序~1.mp4
│      │          步骤五 · 2-8 跨浏览器事件处理程序~1.mp4
│      │          步骤五 · 3-1 事件类型(一)~1.mp4
│      │          步骤五 · 3-4 事件类型(二)~1.mp4
│      │          步骤五 · 3-5 事件类型(三)~1.mp4
│      │          步骤五 · 3-6 事件类型(四)~1.mp4
│      │          步骤五 · 4-1 小项目~1.mp4
│      │         
│      └─6.步骤六:综合实战案例
│          └─1.PS切图工具
│                  步骤六 · 1-1 切图介绍~1.mp4
│                  步骤六 · 2-1 工具和版本介绍~1.mp4
│                  步骤六 · 2-2 缓存位置及默认单位的修改~1.mp4
│                  步骤六 · 2-3 工具的预设及常用操作~1.mp4
│                  步骤六 · 2-4 图层面板的使用~1.mp4
│                  步骤六 · 2-5 借助辅助线辅助切图~1.mp4
│                  步骤六 · 2-6 裁切详解~1.mp4
│                  步骤六 · 2-7 字体的设置~1.mp4
│                  步骤六 · 3-1 切图实战--顶部~1.mp4
│                  步骤六 · 3-2 切图实战--banner和内容~1.mp4
│                  步骤六 · 4-1 经验总结~1.mp4
│                  
├─2019前端开发工程师(阶段三)-WebAPP开发与小程序
│  ├─步骤一:HTML5在移动端开发的贡献
│  │  ├─1.HTML5音视频
│  │  │      步骤一 · 1-1 课程简介~1.mp4
│  │  │      步骤一 · 2-1 video浏览器的差异~1.mp4
│  │  │      步骤一 · 2-4 video属性~1.mp4
│  │  │      步骤一 · 3-1 play、pause、duration~1.mp4
│  │  │      步骤一 · 3-10 load、canplay~1.mp4
│  │  │      步骤一 · 3-2 currentTime、src、volume、controls~1.mp4
│  │  │      步骤一 · 3-3 muted、networkState、currentSrc~1.mp4
│  │  │      步骤一 · 3-6 ended、loop~1.mp4
│  │  │      步骤一 · 3-7 playbackRate、readyState~1.mp4
│  │  │      步骤一 · 3-8 timeupdate、seeked、seeking~1.mp4
│  │  │      步骤一 · 3-9 volumechange、requestFullscreen~1.mp4
│  │  │      步骤一 · 4-1 video-布局(1)~1.mp4
│  │  │      步骤一 · 4-1 video-布局(2)~1.mp4
│  │  │      步骤一 · 4-1 video-布局(3)~1.mp4
│  │  │      步骤一 · 4-4 video-javascript(1)~1.mp4
│  │  │      步骤一 · 4-5 video-javascript(2)~1.mp4
│  │  │      步骤一 · 4-6 video-javascript(3)~1.mp4
│  │  │      步骤一 · 4-7 video-javascript(4)~1.mp4
│  │  │      步骤一 · 4-8 video-javascript(5)~1.mp4
│  │  │      步骤一 · 4-9 video-javascript(6)~1.mp4
│  │  │      步骤一 · 5-1 认识audio(1)~1.mp4
│  │  │      步骤一 · 5-2 认识audio(2)~1.mp4
│  │  │      步骤一 · 5-3 audio属性~1.mp4
│  │  │      步骤一 · 6-1 audio-api(1)~1.mp4
│  │  │      步骤一 · 6-2 audio-api(2)~1.mp4
│  │  │      步骤一 · 6-3 audio-api(3)~1.mp4
│  │  │      步骤一 · 7-1 自定义audio-布局(1)~1.mp4
│  │  │      步骤一 · 7-2 自定义audio-布局(2)~1.mp4
│  │  │      步骤一 · 7-3 自定义audio-布局(3)~1.mp4
│  │  │      步骤一 · 7-4 自定义audio-js(1)~1.mp4
│  │  │      步骤一 · 7-5 自定义audio-js(2)~1.mp4
│  │  │      步骤一 · 7-6 自定义audio-js(3)~1.mp4
│  │  │      步骤一 · 7-7 自定义audio-js(4)~1.mp4
│  │  │      步骤一 · 8-1 videojs(1)~1.mp4
│  │  │      步骤一 · 8-2 videojs(2)~1.mp4
│  │  │      步骤一 · 8-3 videojs(3)~1.mp4
│  │  │      步骤一 · 9-1 课程总结~1.mp4
│  │  │      
│  │  ├─2.高德地图
│  │  │      步骤一 · 1-1 课程预览~1.mp4
│  │  │      步骤一 · 10-1 地图加载完成触发的事件~1.mp4
│  │  │      步骤一 · 10-10 高德地图-案例及总结~1.mp4
│  │  │      步骤一 · 10-2 地图缩放等级事件~1.mp4
│  │  │      步骤一 · 10-3 地图中心点移动事件~1.mp4
│  │  │      步骤一 · 10-4 地图容器尺寸改变事件~1.mp4
│  │  │      步骤一 · 10-5 覆盖物事件-鼠标事件~1.mp4
│  │  │      步骤一 · 10-6 覆盖物事件-矢量图显示隐藏~1.mp4
│  │  │      步骤一 · 10-7 覆盖物事件-右键事件~1.mp4
│  │  │      步骤一 · 10-8 DOM事件~1.mp4
│  │  │      步骤一 · 10-9 自定义事件~1.mp4
│  │  │      步骤一 · 2-1 我的第一个地图应用~1.mp4
│  │  │      步骤一 · 3-1 获取中心点~1.mp4
│  │  │      步骤一 · 3-10 地图的平移~1.mp4
│  │  │      步骤一 · 3-11 获取鼠标的经纬度~1.mp4
│  │  │      步骤一 · 3-13 设置鼠标的样式~1.mp4
│  │  │      步骤一 · 3-2 setZoom~1.mp4
│  │  │      步骤一 · 3-3 设置地图的中心点~1.mp4
│  │  │      步骤一 · 3-4 获取当前行政区~1.mp4
│  │  │      步骤一 · 3-5 设置地图的行政区~1.mp4
│  │  │      步骤一 · 3-6 获取地图的范围~1.mp4
│  │  │      步骤一 · 3-7 设置地图的范围~1.mp4
│  │  │      步骤一 · 3-8 限制地图的显示范围(1)~1.mp4
│  │  │      步骤一 · 3-9 限制地图的显示范围(2)~1.mp4
│  │  │      步骤一 · 4-1 地图搜索(1)~1.mp4
│  │  │      步骤一 · 4-2 地图搜索(2)~1.mp4
│  │  │      步骤一 · 4-3 地图搜索(3)~1.mp4
│  │  │      步骤一 · 4-4 地图搜索与poi结合(1)~1.mp4
│  │  │      步骤一 · 4-5 地图搜索与poi结合(2)~1.mp4
│  │  │      步骤一 · 4-6 地图搜索与poi结合(3)~1.mp4
│  │  │      步骤一 · 4-8 地图搜索与poi结合(4)~1.mp4
│  │  │      步骤一 · 5-1 添加标记-多点标记~1.mp4
│  │  │      步骤一 · 5-2 自定义点标记图标~1.mp4
│  │  │      步骤一 · 5-3 删除标记的方法~1.mp4
│  │  │      步骤一 · 6-1 缩放比例尺控件~1.mp4
│  │  │      步骤一 · 7-1 2d-3d转换~1.mp4
│  │  │      步骤一 · 8-1 驾车路线~1.mp4
│  │  │      步骤一 · 8-10 公交路线指定~1.mp4
│  │  │      步骤一 · 8-2 驾驶导航~1.mp4
│  │  │      步骤一 · 8-3 步行路线~1.mp4
│  │  │      步骤一 · 8-4 步行规划~1.mp4
│  │  │      步骤一 · 8-5 货车路线(1)~1.mp4
│  │  │      步骤一 · 8-6 货车路线(2)~1.mp4
│  │  │      步骤一 · 8-7 骑行路线~1.mp4
│  │  │      步骤一 · 8-8 骑行指定~1.mp4
│  │  │      步骤一 · 8-9 公交路线规划~1.mp4
│  │  │      步骤一 · 9-1 maptype~1.mp4
│  │  │      步骤一 · 9-2 其他控件~1.mp4
│  │  │      步骤一 · 9-3 控件的添加与删除~1.mp4
│  │  │      
│  │  ├─3.HTML5存储
│  │  │      步骤一 · 1-1 课程简介~1.mp4
│  │  │      步骤一 · 2-1 localstorage~1.mp4
│  │  │      步骤一 · 2-2 API~1.mp4
│  │  │      步骤一 · 2-3 存储实现打怪小案例~1.mp4
│  │  │      步骤一 · 2-4 存储时效~1.mp4
│  │  │      步骤一 · 3-1 indexDB(1)~1.mp4
│  │  │      步骤一 · 3-2 indexDB(2)~1.mp4
│  │  │      步骤一 · 3-3 indexDB(3)~1.mp4
│  │  │      步骤一 · 3-4 indexDB(4)~1.mp4
│  │  │      步骤一 · 3-5 indexDB-索引~1.mp4
│  │  │      步骤一 · 3-6 indexDB-游标~1.mp4
│  │  │      步骤一 · 3-7 indexDB-游标索引结合~1.mp4
│  │  │      步骤一 · 3-8 indexDB-区别~1.mp4
│  │  │      步骤一 · 4-1 课程总结~1.mp4
│  │  │      
│  │  ├─4.项目:HTML5表单验证
│  │  │      步骤一 · 1-1 课程介绍~1.mp4
│  │  │      步骤一 · 2-1 html5基本表单验证特性介绍~1.mp4
│  │  │      步骤一 · 2-11 label中for知识点补充~1.mp4
│  │  │      步骤一 · 2-6 html5基本表单验证特性演示~1.mp4
│  │  │      步骤一 · 3-1 html5表单约束验证API~1.mp4
│  │  │      步骤一 · 3-12 html5约束验证API之checkvalidity~1.mp4
│  │  │      步骤一 · 3-14 html约束验证API之setCustomValidity综合案例~1.mp4
│  │  │      步骤一 · 3-5 html5约束验证API之validity演示~1.mp4
│  │  │      步骤一 · 3-8 html5约束验证API之validity演示2~1.mp4
│  │  │      步骤一 · 4-1 html5自带验证美化之伪类和选择器介绍~1.mp4
│  │  │      步骤一 · 4-11 html5默认气泡修改思路~1.mp4
│  │  │      步骤一 · 4-13 html5默认气泡修改演示~1.mp4
│  │  │      步骤一 · 4-5 required和optional美化表单案例~1.mp4
│  │  │      步骤一 · 4-7 valid和invalid伪类美化表单案例~1.mp4
│  │  │      步骤一 · 4-8 表单验证美化综合案例~1.mp4
│  │  │      步骤一 · 5-1 课程总结~1.mp4
│  │  │      
│  │  ├─5.HTML5 Canvas绘图基础
│  │  │      步骤一 · 1-1 课程简介~1.mp4
│  │  │      步骤一 · 2-1 Canvas坐标体系(1)~1.mp4
│  │  │      步骤一 · 2-2 Canvas坐标体系(2)~1.mp4
│  │  │      步骤一 · 3-1 canvas画直线(1)~1.mp4
│  │  │      步骤一 · 3-2 canvas画直线(2)~1.mp4
│  │  │      步骤一 · 3-6 canvas画圆和矩形~1.mp4
│  │  │      步骤一 · 3-9 填充与描边~1.mp4
│  │  │      步骤一 · 4-1 Canvas图形变换之平移~1.mp4
│  │  │      步骤一 · 4-3 Canvas图形变换之旋转和缩放~1.mp4
│  │  │      步骤一 · 4-6 save和restore方法~1.mp4
│  │  │      步骤一 · 4-9 小案例~1.mp4
│  │  │      步骤一 · 5-1 canvas中的线性渐变~1.mp4
│  │  │      步骤一 · 5-3 canvas中的径向渐变~1.mp4
│  │  │      步骤一 · 5-5 线性渐变总结~1.mp4
│  │  │      步骤一 · 5-6 径向渐变总结~1.mp4
│  │  │      步骤一 · 6-1 Canvas中的文字~1.mp4
│  │  │      步骤一 · 6-3 Canvas图片的绘制(1)~1.mp4
│  │  │      步骤一 · 6-5 canvas图片的绘制(2)~1.mp4
│  │  │      步骤一 · 6-7 完成案例文字图片显示和变换~1.mp4
│  │  │      步骤一 · 6-8 图形画刷~1.mp4
│  │  │      步骤一 · 7-1 Canvas剪辑区域~1.mp4
│  │  │      步骤一 · 7-3 Canvas阴影绘制~1.mp4
│  │  │      步骤一 · 7-5 Canvas绘制曲线~1.mp4
│  │  │      步骤一 · 7-8 完成案例阴影和曲线~1.mp4
│  │  │      步骤一 · 8-1 Canvas动画~1.mp4
│  │  │      步骤一 · 9-1 Canvas离屏技术~1.mp4
│  │  │      步骤一 · 9-3 完成案例动画部分~1.mp4
│  │  │      
│  │  └─6.项目:Canvas手势解锁案例
│  │          步骤一 · 1-1 课程介绍~1.mp4
│  │          步骤一 · 2-1 js动态初始化Dom结构~1.mp4
│  │          步骤一 · 2-2 画圆函数介绍~1.mp4
│  │          步骤一 · 2-3 canvas事件操作~1.mp4
│  │          步骤一 · 2-4 canvas手势链接操作实现~1.mp4
│  │          步骤一 · 2-5 canvas实现解锁成功-canvas案例~1.mp4
│  │         
│  ├─步骤三:webAPP美团实战案例
│  │  ├─1.实战:美团外卖-首页实现
│  │  │      步骤三 · 1-1 课程简介~1.mp4
│  │  │      步骤三 · 1-2 环境搭建~1.mp4
│  │  │      步骤三 · 2-1 首页-头部结构~1.mp4
│  │  │      步骤三 · 2-10 首页-商家列表(4)~1.mp4
│  │  │      步骤三 · 2-11 首页-商家列表(5)~1.mp4
│  │  │      步骤三 · 2-12 星级评分(1)~1.mp4
│  │  │      步骤三 · 2-13 星级评分(2)~1.mp4
│  │  │      步骤三 · 2-14 首页-底部菜单(1)~1.mp4
│  │  │      步骤三 · 2-15 首页-底部菜单(2)~1.mp4
│  │  │      步骤三 · 2-16 首页-滚动加载~1.mp4
│  │  │      步骤三 · 2-2 首页-头部样式(1)~1.mp4
│  │  │      步骤三 · 2-3 首页-头部样式(2)~1.mp4
│  │  │      步骤三 · 2-4 首页-头部搜索~1.mp4
│  │  │      步骤三 · 2-5 首页-类目(1)~1.mp4
│  │  │      步骤三 · 2-6 首页-类目(2)~1.mp4
│  │  │      步骤三 · 2-7 首页-商家列表(1)~1.mp4
│  │  │      步骤三 · 2-8 首页-商家列表(2)~1.mp4
│  │  │      步骤三 · 2-9 首页-商家列表(3)~1.mp4
│  │  │      
│  │  ├─2.实战:订单页&“我的”页面
│  │  │      步骤三 · 1-1 订单页-头部样式~1.mp4
│  │  │      步骤三 · 1-2 订单页-订单列表~1.mp4
│  │  │      步骤三 · 1-3 订单页-订单列表数据渲染(1)~1.mp4
│  │  │      步骤三 · 1-4 订单页-订单列表数据渲染(2)~1.mp4
│  │  │      步骤三 · 1-5 订单页-订单列表样式(1)~1.mp4
│  │  │      步骤三 · 1-6 订单页-订单列表样式(2)~1.mp4
│  │  │      步骤三 · 1-7 订单页-滚动加载~1.mp4
│  │  │      步骤三 · 2-1 我的页-页面结构~1.mp4
│  │  │      步骤三 · 2-2 我的页-页面样式(1)~1.mp4
│  │  │      
│  │  └─3.实战:详情页与购物车开发
│  │          步骤三 · 1-1 详情页-结构与头部样式~1.mp4
│  │          步骤三 · 1-2 详情页-tabbar样式与左侧类目~1.mp4
│  │          步骤三 · 1-3 详情页-左侧类目数据渲染~1.mp4
│  │          步骤三 · 1-4 详情页-右侧数据渲染(1)~1.mp4
│  │          步骤三 · 1-5 详情页-右侧数据渲染(2)~1.mp4
│  │          步骤三 · 1-6 详情页-右侧数据渲染(3)~1.mp4
│  │          步骤三 · 1-7 详情页-右侧数据渲染(4)~1.mp4
│  │          步骤三 · 2-1 详情页-购物车(1)~1.mp4
│  │          步骤三 · 2-2 详情页-购物车(2)~1.mp4
│  │          步骤三 · 2-3 详情页-购物车(3)~1.mp4
│  │          步骤三 · 2-4 详情页-购物车(4)~1.mp4
│  │          步骤三 · 2-5 详情页-购物车(5)~1.mp4
│  │          步骤三 · 2-6 详情页-购物车(6)~1.mp4
│  │          步骤三 · 2-7 详情页-购物车(7)~1.mp4
│  │          步骤三 · 3-1 课程总结~1.mp4
│  │         
│  ├─步骤二:移动webAPP开发必备基础
│  │  ├─1.移动Web开发入门
│  │  │      步骤二 · 1-1 课程介绍~1.mp4
│  │  │      步骤二 · 1-2 为什么进行web开发~1.mp4
│  │  │      步骤二 · 2-1 物理像素~1.mp4
│  │  │      步骤二 · 2-2 CSS像素~1.mp4
│  │  │      步骤二 · 2-5 视口-viewport(1)~1.mp4
│  │  │      步骤二 · 2-6 视口-viewport(2)~1.mp4
│  │  │      步骤二 · 3-1 box-sizing~1.mp4
│  │  │      步骤二 · 3-12 flex布局-项目的属性~1.mp4
│  │  │      步骤二 · 3-16 flex布局-实例~1.mp4
│  │  │      步骤二 · 3-18 媒体查询-基础(1)~1.mp4
│  │  │      步骤二 · 3-19 媒体查询-基础(2)~1.mp4
│  │  │      步骤二 · 3-21 媒体查询-策略~1.mp4
│  │  │      步骤二 · 3-25 移动端常用单位~1.mp4
│  │  │      步骤二 · 3-3 图标字体~1.mp4
│  │  │      步骤二 · 3-4 flex布局-入门~1.mp4
│  │  │      步骤二 · 3-6 移动webapp入门(1)~1.mp4
│  │  │      步骤二 · 3-8 移动webapp入门(2)~1.mp4
│  │  │      步骤二 · 4-1 课程总结~1.mp4
│  │  │      
│  │  ├─2.响应式布局
│  │  │      步骤二 · 1-1 什么是响应式布局~1.mp4
│  │  │      步骤二 · 1-4 结构、内容和布局的概念~1.mp4
│  │  │      步骤二 · 2-1 什么是栅格系统~1.mp4
│  │  │      步骤二 · 2-3 试用栅格系统完成响应式布局~1.mp4
│  │  │      步骤二 · 3-1 实现栅格系统--基础部分~1.mp4
│  │  │      步骤二 · 3-2 实现栅格系统--扩展部分~1.mp4
│  │  │      步骤二 · 4-1 头部header区--html~1.mp4
│  │  │      步骤二 · 4-2 头部header区--css~1.mp4
│  │  │      步骤二 · 4-3 导航区~1.mp4
│  │  │      步骤二 · 4-5 幻灯片区~1.mp4
│  │  │      步骤二 · 4-6 商品展示、返回顶部、帮助、底部footer区~1.mp4
│  │  │      步骤二 · 5-1 实现栅格系统--基础部分~1.mp4
│  │  │      步骤二 · 5-2 实现栅格系统--扩展部分~1.mp4
│  │  │      步骤二 · 5-4 使用栅格系统改写响应式页面~1.mp4
│  │  │      步骤二 · 6-1 课程总结~1.mp4
│  │  │      
│  │  ├─3.移动端屏幕适配
│  │  │      步骤二 · 1-1 移动端屏幕适配介绍~1.mp4
│  │  │      步骤二 · 2-1 简单的适配原理~1.mp4
│  │  │      步骤二 · 2-3 简单适配实现~1.mp4
│  │  │      步骤二 · 2-4 简单适配应用~1.mp4
│  │  │      步骤二 · 3-1 通用适配原理~1.mp4
│  │  │      步骤二 · 3-2 通用适配实现~1.mp4
│  │  │      步骤二 · 3-3 通用适配应用--头部header~1.mp4
│  │  │      步骤二 · 3-5 通用适配应用--幻灯片和导航~1.mp4
│  │  │      步骤二 · 3-6 通用适配应用--商品推荐~1.mp4
│  │  │      步骤二 · 3-8 通用适配应用--标签栏tabbar~1.mp4
│  │  │      步骤二 · 4-1 课程总结~1.mp4
│  │  │      
│  │  ├─4.移动端事件
│  │  │      步骤二 · 1-1 移动端事件介绍~1.mp4
│  │  │      步骤二 · 2-1 touch事件基础~1.mp4
│  │  │      步骤二 · 2-3 touch事件的event对象~1.mp4
│  │  │      步骤二 · 2-5 单指拖拽--运动~1.mp4
│  │  │      步骤二 · 2-6 单指拖拽--拖拽~1.mp4
│  │  │      步骤二 · 3-1 其他触摸事件介绍~1.mp4
│  │  │      步骤二 · 3-2 hammer.js~1.mp4
│  │  │      
│  │  ├─5.移动调试和终端检测
│  │  │      步骤二 · 1-1 课程介绍~1.mp4
│  │  │      步骤二 · 2-1 浏览器调试~1.mp4
│  │  │      步骤二 · 2-2 真机查看~1.mp4
│  │  │      步骤二 · 2-3 远程调试工具Vorlon.JS~1.mp4
│  │  │      步骤二 · 2-4 多终端同步工具Browsersync~1.mp4
│  │  │      步骤二 · 3-1 终端检测~1.mp4
│  │  │      步骤二 · 4-1 课程总结~1.mp4
│  │  │      
│  │  ├─6.移动常见问题
│  │  │      步骤二 · 1-1 课程介绍~1.mp4
│  │  │      步骤二 · 2-1 H5标签-浏览器兼容性~1.mp4
│  │  │      步骤二 · 2-10 水平居中和垂直居中(3)~1.mp4
│  │  │      步骤二 · 2-2 JS-浏览器兼容性~1.mp4
│  │  │      步骤二 · 2-3 CSS3-浏览器兼容性~1.mp4
│  │  │      步骤二 · 2-4 click300ms延迟~1.mp4
│  │  │      步骤二 · 2-5 单行和多行文字溢出省略~1.mp4
│  │  │      步骤二 · 2-8 水平居中和垂直居中~1.mp4
│  │  │      步骤二 · 2-9 水平居中和垂直居中(2)~1.mp4
│  │  │      步骤二 · 3-1 课程总结~1.mp4
│  │  │      
│  │  ├─7.移动性能优化
│  │  │      步骤二 · 1-1 课程介绍~1.mp4
│  │  │      步骤二 · 2-1 HTML中的CSS和JavaScript(1)~1.mp4
│  │  │      步骤二 · 2-2 HTML中的CSS和JavaScript(2)~1.mp4
│  │  │      步骤二 · 2-3 图片和其他优化~1.mp4
│  │  │      步骤二 · 3-1 CSS选择器优化~1.mp4
│  │  │      步骤二 · 3-2 CSS属性和其他优化~1.mp4
│  │  │      步骤二 · 4-1 DOM操作优化(1)~1.mp4
│  │  │      步骤二 · 4-2 DOM操作优化(2)~1.mp4
│  │  │      步骤二 · 4-3 DOM操作优化(2)~1.mp4
│  │  │      步骤二 · 4-4 事件优化(1)~1.mp4
│  │  │      步骤二 · 4-5 事件优化(2)~1.mp4
│  │  │      步骤二 · 4-6 资源按需加载和预加载(1)~1.mp4
│  │  │      步骤二 · 4-7 资源按需加载和预加载(2)~1.mp4
│  │  │      步骤二 · 4-8 资源按需加载和预加载(2)~1.mp4
│  │  │      
│  │  ├─8.Zepto详解
│  │  │      步骤二 · 1-1 编写第一个zepto小程序~1.mp4
│  │  │      步骤二 · 1-2 链式调用~1.mp4
│  │  │      步骤二 · 1-4 DOM对象与zepto对象互相转换~1.mp4
│  │  │      步骤二 · 2-1 初识选择器~1.mp4
│  │  │      步骤二 · 2-10 过滤选择器~1.mp4
│  │  │      步骤二 · 2-11 选择器中的注意事项~1.mp4
│  │  │      步骤二 · 2-3 选择器的优势~1.mp4
│  │  │      步骤二 · 2-6 基础选择器~1.mp4
│  │  │      步骤二 · 2-7 层次选择器~1.mp4
│  │  │      步骤二 · 3-1 zepto中的DOM操作~1.mp4
│  │  │      步骤二 · 3-2 zepto中的属性与样式操作~1.mp4
│  │  │      步骤二 · 3-5 zepto中的遍历节点~1.mp4
│  │  │      步骤二 · 3-6 zepto中CSS-DOM操作~1.mp4
│  │  │      步骤二 · 4-1 事件之ready与onload区别~1.mp4
│  │  │      步骤二 · 4-11 事件之其他用法~1.mp4
│  │  │      步骤二 · 4-3 事件之开头几种简写方式~1.mp4
│  │  │      步骤二 · 4-4 事件绑定初识~1.mp4
│  │  │      步骤二 · 4-6 事件冒泡与事件捕获~1.mp4
│  │  │      步骤二 · 4-8 事件委托或代理~1.mp4
│  │  │      步骤二 · 5-1 zepto中的动画~1.mp4
│  │  │      步骤二 · 5-2 zepto的动画~1.mp4
│  │  │      步骤二 · 6-1 编写一个ajax~1.mp4
│  │  │      步骤二 · 6-2 zepto中的ajax~1.mp4
│  │  │      步骤二 · 7-1 zepto中的touch模块~1.mp4
│  │  │      步骤二 · 8-1 zepto插件的写法(一)~1.mp4
│  │  │      步骤二 · 8-2 zepto插件的写法(二)~1.mp4
│  │  │      步骤二 · 8-3 jQuery和zepto的区别~1.mp4
│  │  │      
│  │  └─9.Swiper快速切换插件
│  │          步骤二 · 1-1 swiper介绍~1.mp4
│  │          步骤二 · 2-1 swiper垂直滚动基本示例~1.mp4
│  │          步骤二 · 2-3 progress插件使用~1.mp4
│  │          步骤二 · 2-5 3D-flow插件使用~1.mp4
│  │          步骤二 · 2-7 scrolle-bar插件使用~1.mp4
│  │          步骤二 · 3-1 tab切换综合示例~1.mp4
│  │         
│  └─步骤四:小程序基础与实战案例
│      ├─1.实战:小程序开发工具与基础
│      │      步骤四 · 1-1 申请appid~1.mp4
│      │      步骤四 · 1-2 下载并安装微信开发者工具~1.mp4
│      │      步骤四 · 1-3 微信开发工具UI简介与小程序调试方法(1)~1.mp4
│      │      步骤四 · 1-4 微信开发工具UI简介与小程序调试方法(2)~1.mp4
│      │      步骤四 · 2-1 内容简介~1.mp4
│      │      步骤四 · 2-11 使用flex(弹性盒子)快速布局~1.mp4
│      │      步骤四 · 2-12 制作项目启动页app.json配置基础~1.mp4
│      │      步骤四 · 2-14 移动端分辨率精讲~1.mp4
│      │      步骤四 · 2-15 小程序的自适应单位RPX精讲~1.mp4
│      │      步骤四 · 2-2 官方种子项目与小程序页面~1.mp4
│      │      步骤四 · 2-4 应用程序级别文件~1.mp4
│      │      步骤四 · 2-5 小程序的页面层级结构~1.mp4
│      │      步骤四 · 2-6 新建welcome欢迎页面~1.mp4
│      │      步骤四 · 2-7 我的第一个页面~1.mp4
│      │      步骤四 · 2-9 认识小程序的rpx~1.mp4
│      │      
│      ├─2.实战:小程序新闻网站列表页
│      │      步骤四 · 1-1 课程简介~1.mp4
│      │      步骤四 · 2-1 使用Swiper组件构建轮播图(1)~1.mp4
│      │      步骤四 · 2-2 使用Swiper组件构建轮播图(2)~1.mp4
│      │      步骤四 · 2-4 Swiper组件属性设置~1.mp4
│      │      步骤四 · 3-1 全局配置与页面配置~1.mp4
│      │      步骤四 · 3-2 构建新闻列表(1)~1.mp4
│      │      步骤四 · 3-3 构建新闻列表(2)~1.mp4
│      │      步骤四 · 3-4 构建新闻列表(3)~1.mp4
│      │      步骤四 · 4-1 JS与小程序Page页面生命周期~1.mp4
│      │      步骤四 · 4-2 数据绑定概念和基础~1.mp4
│      │      步骤四 · 4-3 setData方法绑定数据~1.mp4
│      │      步骤四 · 4-4 数据绑定的扩展用法~1.mp4
│      │      步骤四 · 5-1 条件渲染wx-if~1.mp4
│      │      步骤四 · 5-2 列表渲染wx-for(1)~1.mp4
│      │      步骤四 · 5-3 列表渲染wx-for(2)~1.mp4
│      │      步骤四 · 6-1 小程序的事件机制——捕捉与回调(1)~1.mp4
│      │      步骤四 · 6-2 小程序的事件机制——捕捉与回调(2)~1.mp4
│      │      步骤四 · 6-3 小程序的事件机制——catch与bind~1.mp4
│      │      步骤四 · 7-1 将业务数据分离到单独的数据文件中~1.mp4
│      │      步骤四 · 7-2 使用require加载JS模块文件~1.mp4
│      │      步骤四 · 7-3 template 模板的使用(1)~1.mp4
│      │      
│      └─3.实战:小程序新闻网站列表页
│              步骤四 · 1-1 扩展运算符的巧妙应用~1.mp4
│              步骤四 · 2-1 组件的自定义属性及获取属性(1)~1.mp4
│              步骤四 · 2-10 交互反馈wx.showModal(1)~1.mp4
│              步骤四 · 2-11 交互反馈wx.showModal(2)~1.mp4
│              步骤四 · 2-12 交互反馈wx.showModal(3)~1.mp4
│              步骤四 · 2-13 加入tabbar选项卡~1.mp4
│              步骤四 · 2-2 组件的自定义属性及获取属性(2)~1.mp4
│              步骤四 · 2-3 先静后动,先样式再数据~1.mp4
│              步骤四 · 2-4 使用数据填充新闻详情页面(1)~1.mp4
│              步骤四 · 2-5 使用数据填充新闻详情页面(2)~1.mp4
│              步骤四 · 2-6 Storage缓存的基本用法~1.mp4
│              步骤四 · 2-7 使用缓存实现文字收藏的功能(1)~1.mp4
│              步骤四 · 2-8 使用缓存实现文字收藏的功能(2)~1.mp4
│              步骤四 · 2-9 交互反馈wx.showToast~1.mp4
│              步骤四 · 3-1 给初学者的编程建议~1.mp4
│              步骤四 · 3-2 一些好用的小程序框架~1.mp4
│              
├─2019前端开发工程师(阶段二)-组件化网页开发
│  └─2.组件化网页开发 2019版
│      ├─步骤一:让页面动起来的JavaScript深入讲解
│      │  ├─1.JS变量、作用域
│      │  │      步骤一 · 1-1 课程介绍~1.mp4
│      │  │      步骤一 · 2-1 查漏补缺~1.mp4
│      │  │      步骤一 · 3-1 数据类型和堆栈~1.mp4
│      │  │      步骤一 · 3-10 参数传递和类型检测~1.mp4
│      │  │      步骤一 · 3-5 变量比较和值的复制~1.mp4
│      │  │      步骤一 · 4-1 全局作用域和局部作用域~1.mp4
│      │  │      步骤一 · 4-13 JS解析机制详解~1.mp4
│      │  │      步骤一 · 4-4 变量对象和作用域链~1.mp4
│      │  │      步骤一 · 4-9 JS解析机制-预解析~1.mp4
│      │  │      步骤一 · 5-1 垃圾收集机制~1.mp4
│      │  │      步骤一 · 5-4 管理内存~1.mp4
│      │  │      步骤一 · 6-1 课程总结~1.mp4
│      │  │      
│      │  ├─2.JS函数深入讲解
│      │  │      步骤一 · 1-1 课程介绍~1.mp4
│      │  │      步骤一 · 2-1 什么是对象~1.mp4
│      │  │      步骤一 · 2-2 如何使用对象~1.mp4
│      │  │      步骤一 · 3-1 什么是函数~1.mp4
│      │  │      步骤一 · 3-2 JS中的函数~1.mp4
│      │  │      步骤一 · 3-3 为什么要使用函数~1.mp4
│      │  │      步骤一 · 3-4 函数的本质~1.mp4
│      │  │      步骤一 · 3-5 知识梳理~1.mp4
│      │  │      步骤一 · 4-1 三种定义方式及区别~1.mp4
│      │  │      步骤一 · 4-12 知识梳理~1.mp4
│      │  │      步骤一 · 4-8 函数定义的位置~1.mp4
│      │  │      步骤一 · 5-1 普通函数的调用~1.mp4
│      │  │      步骤一 · 5-12 函数的间接调用~1.mp4
│      │  │      步骤一 · 5-16 知识梳理~1.mp4
│      │  │      步骤一 · 5-5 方法的调用~1.mp4
│      │  │      步骤一 · 5-8 构造函数的调用~1.mp4
│      │  │      步骤一 · 6-1 参数的类型~1.mp4
│      │  │      步骤一 · 6-10 知识梳理~1.mp4
│      │  │      步骤一 · 6-2 参数的个数~1.mp4
│      │  │      步骤一 · 6-5 arguments~1.mp4
│      │  │      步骤一 · 6-9 什么可以做参数~1.mp4
│      │  │      步骤一 · 7-1 return~1.mp4
│      │  │      步骤一 · 7-5 什么可以做返回值~1.mp4
│      │  │      步骤一 · 7-9 知识梳理~1.mp4
│      │  │      
│      │  ├─3.项目:JS实现简易计算器案例
│      │  │      步骤一 · 1-1 案例介绍~1.mp4
│      │  │      步骤一 · 2-1 结构和样式~1.mp4
│      │  │      步骤一 · 3-1 添加JS功能~1.mp4
│      │  │      步骤一 · 4-1 第一次修改--结构和行为分离~1.mp4
│      │  │      步骤一 · 4-2 第二次修改--使用循环~1.mp4
│      │  │      步骤一 · 4-4 第三次修改--提取函数~1.mp4
│      │  │      步骤一 · 4-5 第四次修改--管理代码~1.mp4
│      │  │      步骤一 · 4-6 第五次修改--开放与封闭原则~1.mp4
│      │  │      步骤一 · 4-7 第六次修改--模块化~1.mp4
│      │  │      步骤一 · 5-1 修改与建议~1.mp4
│      │  │      
│      │  ├─4.JS面向对象
│      │  │      步骤一 · 1-1 课程介绍~1.mp4
│      │  │      步骤一 · 2-1 面向对象概述~1.mp4
│      │  │      步骤一 · 2-5 闭包~1.mp4
│      │  │      步骤一 · 3-1 声明对象的方式(上)~1.mp4
│      │  │      步骤一 · 3-5 声明对象方式(中)~1.mp4
│      │  │      步骤一 · 3-8 声明对象方式(下)~1.mp4
│      │  │      步骤一 · 4-1 对象的遍历~1.mp4
│      │  │      步骤一 · 4-4 对象的存储~1.mp4
│      │  │      步骤一 · 5-1 封装~1.mp4
│      │  │      步骤一 · 6-1 原型继承~1.mp4
│      │  │      步骤一 · 7-1 关键词(上)~1.mp4
│      │  │      步骤一 · 7-4 关键词(下)~1.mp4
│      │  │      步骤一 · 8-1 对象冒充~1.mp4
│      │  │      步骤一.6-5构造继承~1.mp4
│      │  │      
│      │  ├─5.正则表达式
│      │  │      步骤一 · 1-1 课程介绍~1.mp4
│      │  │      步骤一 · 2-1 正则表达式是个神马玩意儿~1.mp4
│      │  │      步骤一 · 2-11 使用哪种方式创建正则表达式~1.mp4
│      │  │      步骤一 · 2-13 正则表达式测试工具--HTML和CSS~1.mp4
│      │  │      步骤一 · 2-14 正则表达式测试工具--JS~1.mp4
│      │  │      步骤一 · 2-2 初识正则表达式~1.mp4
│      │  │      步骤一 · 2-5 让正则去匹配字符串~1.mp4
│      │  │      步骤一 · 3-1 简单的转义字符~1.mp4
│      │  │      步骤一 · 3-13 重复~1.mp4
│      │  │      步骤一 · 3-17 非贪婪的重复~1.mp4
│      │  │      步骤一 · 3-22 选择~1.mp4
│      │  │      步骤一 · 3-26 分组和引用~1.mp4
│      │  │      步骤一 · 3-30 位置匹配之首尾匹配~1.mp4
│      │  │      步骤一 · 3-32 位置匹配之单词边界匹配~1.mp4
│      │  │      步骤一 · 3-33 位置匹配之单词前瞻性匹配和负向前瞻性匹配~1.mp4
│      │  │      步骤一 · 3-36 RegExp对象的实例方法(1)~1.mp4
│      │  │      步骤一 · 3-37 RegExp对象的实例方法(2)~1.mp4
│      │  │      步骤一 · 3-38 RegExp对象的实例属性和构造函数属性~1.mp4
│      │  │      步骤一 · 3-39 String对象中与正则相关的方法之search,match和split~1.mp4
│      │  │      步骤一 · 3-42 String对象中与正则相关的方法之replace~1.mp4
│      │  │      步骤一 · 3-43 利用replace方法完善正则测试工具~1.mp4
│      │  │      步骤一 · 3-5 字符类~1.mp4
│      │  │      步骤一 · 3-9 常用的字符类~1.mp4
│      │  │      步骤一 · 4-1 QQ号、昵称和密码_x264~1.mp4
│      │  │      步骤一 · 4-2 去除字符串首尾的空白字符~1.mp4
│      │  │      步骤一 · 4-3 转驼峰~1.mp4
│      │  │      步骤一 · 4-4 匹配HTML标签~1.mp4
│      │  │      步骤一 · 4-5 email邮箱~1.mp4
│      │  │      步骤一 · 4-6 url~1.mp4
│      │  │      步骤一 · 4-7 完善测试工具~1.mp4
│      │  │      步骤一 · 5-1 课程总结~1.mp4
│      │  │      
│      │  └─6.项目:JS表单验证案例
│      │          步骤一 · 1-1 前言~1.mp4
│      │          步骤一 · 2-1 H5验证~1.mp4
│      │          步骤一 · 3-1 账户名验证~1.mp4
│      │          步骤一 · 3-2 密码验证~1.mp4
│      │          步骤一 · 3-3 中文名验证~1.mp4
│      │          步骤一 · 3-4 身份证验证~1.mp4
│      │          步骤一 · 3-5 邮箱验证~1.mp4
│      │          步骤一 · 3-6 手机号验证~1.mp4
│      │          步骤一 · 3-7 提交验证~1.mp4
│      │         
│      ├─步骤三:一个高大上的思想,开发电商网页
│      │  ├─1.实战:站点导航组件化
│      │  │      步骤三 · 1-1 课程介绍~1.mp4
│      │  │      步骤三 · 2-1 项目准备及编写HTML基本结构~1.mp4
│      │  │      步骤三 · 2-2 查看PSD设计图~1.mp4
│      │  │      步骤三 · 3-1 简单分析~1.mp4
│      │  │      步骤三 · 3-2 站点导航HTML结构~1.mp4
│      │  │      步骤三 · 3-3 站点导航 CSS样式~1.mp4
│      │  │      步骤三 · 3-4 下拉菜单CSS样式~1.mp4
│      │  │      步骤三 · 3-5 让菜单下拉~1.mp4
│      │  │      
│      │  ├─2.实战:下拉菜单组件化
│      │  │      步骤三 · 1-1 分离共性和特性~1.mp4
│      │  │      步骤三 · 1-2 让下拉菜单开始工作~1.mp4
│      │  │      步骤三 · 1-3 下拉箭头的实现(1)~1.mp4
│      │  │      步骤三 · 1-4 下拉箭头的实现(2)~1.mp4
│      │  │      步骤三 · 1-5 下拉箭头旋转的实现~1.mp4
│      │  │      步骤三 · 2-1 下拉显示层介绍~1.mp4
│      │  │      步骤三 · 2-10 将显示隐藏封装成模块--初探~1.mp4
│      │  │      步骤三 · 2-11 将显示隐藏封装成模块--完善~1.mp4
│      │  │      步骤三 · 2-2 静静的显示和隐藏(1)~1.mp4
│      │  │      步骤三 · 2-3 静静的显示和隐藏(2)~1.mp4
│      │  │      步骤三 · 2-4 用css3实现淡入淡出效果(1)~1.mp4
│      │  │      步骤三 · 2-5 用css3实现淡入淡出效果(2)~1.mp4
│      │  │      步骤三 · 2-6 transition.js~1.mp4
│      │  │      步骤三 · 2-7 css3实现其他显示隐藏效果~1.mp4
│      │  │      步骤三 · 2-8 用js实现淡入淡出和卷下卷起效果~1.mp4
│      │  │      步骤三 · 2-9 用js实现其他显示隐藏效果~1.mp4
│      │  │      步骤三 · 3-1 用showHide改写dropdown模块~1.mp4
│      │  │      步骤三 · 3-2 用构造函数的形式重写dropdown模块~1.mp4
│      │  │      步骤三 · 3-3 用构造函数的形式重写dropdown模块--触发方式和延迟显示~1.mp4
│      │  │      步骤三 · 3-4 用构造函数的形式重写dropdown模块-发送消息、暴露方法以及单例~1.mp4
│      │  │      步骤三 · 3-5 下拉菜单的按需加载~1.mp4
│      │  │      步骤三 · 3-6 改写站点导航中的下拉菜单~1.mp4
│      │  │      
│      │  ├─3.实战:搜索功能组件化
│      │  │      步骤三 · 1-1 logo的结构和样式~1.mp4
│      │  │      步骤三 · 1-2 搜索框的html结构~1.mp4
│      │  │      步骤三 · 1-3 搜索框的css样式~1.mp4
│      │  │      步骤三 · 2-1 为搜索框添加功能--搜索验证~1.mp4
│      │  │      步骤三 · 2-2 为搜索框添加功能--获取数据和生成下拉层结构~1.mp4
│      │  │      步骤三 · 2-3 为搜索框添加功能--事件代理和显示隐藏下拉层~1.mp4
│      │  │      步骤三 · 3-1 改写搜索框功能--搜索验证~1.mp4
│      │  │      步骤三 · 3-2 改写搜索框功能--自动完成~1.mp4
│      │  │      步骤三 · 3-3 代码优化~1.mp4
│      │  │      步骤三 · 3-4 代码优化--数据缓存~1.mp4
│      │  │      
│      │  ├─4.实战:中心focus区域组件化
│      │  │      步骤三 · 1-1 网站主导航~1.mp4
│      │  │      步骤三 · 1-2 商品分类的html结构~1.mp4
│      │  │      步骤三 · 1-3 商品分类的css样式~1.mp4
│      │  │      步骤三 · 1-4 商品分类的css样式2--商品详情~1.mp4
│      │  │      步骤三 · 1-5 按需加载商品详情~1.mp4
│      │  │      步骤三 · 2-1 慕快报~1.mp4
│      │  │      步骤三 · 2-2 便捷服务和广告~1.mp4
│      │  │      步骤三 · 3-1 幻灯片的html结构~1.mp4
│      │  │      步骤三 · 3-2 幻灯片的css样式~1.mp4
│      │  │      步骤三 · 3-3 幻灯片的js--分析、调用和基本结构~1.mp4
│      │  │      步骤三 · 3-4 幻灯片的js--初始化、切换和绑定事件~1.mp4
│      │  │      步骤三 · 3-5 幻灯片的js--绑定事件续、自动切换和发送消息(轮播图手动切换)~1.mp4
│      │  │      步骤三 · 3-6 幻灯片的js--绑定事件续、自动切换和发送消息(自动切换)~1.mp4
│      │  │      步骤三 · 4-1 运动模块的调用和基本结构~1.mp4
│      │  │      步骤三 · 4-2 运动模块之Silent类~1.mp4
│      │  │      步骤三 · 4-3 运动模块之Css3类~1.mp4
│      │  │      步骤三 · 4-4 运动模块之Js类和去除冗余代码~1.mp4
│      │  │      步骤三 · 4-5 运动模块之插件化和简单试验~1.mp4
│      │  │      步骤三 · 5-1 滑入滑出的第一种实现方式--分析、样式和初始化~1.mp4
│      │  │      步骤三 · 5-2 滑入滑出的第一种实现方式--实现滑动功能~1.mp4
│      │  │      步骤三 · 5-3 滑入滑出的第一种实现方式--自动切换、发消息和去除重复代码_x264~1.mp4
│      │  │      步骤三 · 5-4 滑入滑出的第二种实现方式--原理、样式和滑动~1.mp4
│      │  │      步骤三 · 5-5 滑入滑出的第二种实现方式--头尾相连无缝滚动~1.mp4
│      │  │      步骤三 · 5-6 滑入滑出的第二种实现方式--自动切换和选择~1.mp4
│      │  │      步骤三 · 6-1 按需加载--准备~1.mp4
│      │  │      步骤三 · 6-2 按需加载--加载图片~1.mp4
│      │  │      步骤三 · 6-3 按需加载--重复加载和代码优化~1.mp4
│      │  │      步骤三 · 6-4 focus中的幻灯片~1.mp4
│      │  │      步骤三 · 6-5 今日推荐商品~1.mp4
│      │  │      步骤三 · 6-6 代码优化~1.mp4
│      │  │      
│      │  └─5.实战:楼层模块组件化
│      │          步骤三 · 1-1 html结构~1.mp4
│      │          步骤三 · 1-2 css样式-楼层~1.mp4
│      │          步骤三 · 1-3 css样式-选项卡~1.mp4
│      │          步骤三 · 2-1 tab选项卡-基本功能~1.mp4
│      │          步骤三 · 2-2 tab选项卡-扩展功能~1.mp4
│      │          步骤三 · 3-1 楼层商品图片的按需加载~1.mp4
│      │          步骤三 · 3-2 楼层HTML结构的按需加载--确定什么时候加载~1.mp4
│      │          步骤三 · 3-3 楼层HTML结构的按需加载--加载~1.mp4
│      │          步骤三 · 3-4 楼层HTML结构的按需加载--全部加载完毕后的收尾工作~1.mp4
│      │          步骤三 · 4-1 剔除冗余代码~1.mp4
│      │          步骤三 · 4-2 优化代码--命名空间~1.mp4
│      │          步骤三 · 4-3 优化代码--性能优化~1.mp4
│      │          步骤三 · 5-1 电梯的HTML结构和CSS样式~1.mp4
│      │          步骤三 · 5-2 电梯的水平位置~1.mp4
│      │          步骤三 · 5-3 标识楼层号和抵达指定楼层~1.mp4
│      │          步骤三 · 5-5 侧栏工具条~1.mp4
│      │         
│      └─步骤二:一个快速、简洁的JS库--jQuery
│          ├─1.jQuery入门
│          │      步骤二 · 1-1 jQuery是什么~1.mp4
│          │      步骤二 · 1-2 jQuery的优势和学前准备~1.mp4
│          │      步骤二 · 1-3 jQuery简介和学习目标~1.mp4
│          │      步骤二 · 2-1 jQuery的引入与$符号~1.mp4
│          │      步骤二 · 2-2 jQuery的书写格式~1.mp4
│          │      步骤二 · 3-1 结构层~1.mp4
│          │      步骤二 · 3-2 表示层--导航的实现~1.mp4
│          │      步骤二 · 3-3 表示层--图片区域~1.mp4
│          │      步骤二 · 3-4 行为层~1.mp4
│          │      步骤二 · 3-6 css、html、text方法讲解~1.mp4
│          │      
│          ├─2.jQuery选择器
│          │      步骤二 · 1-1 选择器简介~1.mp4
│          │      步骤二 · 2-1 ID选择器~1.mp4
│          │      步骤二 · 2-2 Element选择器~1.mp4
│          │      步骤二 · 2-3 class选择器~1.mp4
│          │      步骤二 · 2-4 通配符选择器~1.mp4
│          │      步骤二 · 3-1 多项选择器~1.mp4
│          │      步骤二 · 4-1 祖先后代选择器(Ancestor Descendant)~1.mp4
│          │      步骤二 · 4-3 直接后代选择器(parent child)~1.mp4
│          │      步骤二 · 4-4 $('prev+next')选择器~1.mp4
│          │      步骤二 · 4-5 兄弟选择器 $('prev~siblings')~1.mp4
│          │      步骤二 · 5-1 属性名选择器[attribute]~1.mp4
│          │      步骤二 · 5-2 属性值选择器[attribute=value]~1.mp4
│          │      步骤二 · 5-3 非属性值选择器[attribute!=value]~1.mp4
│          │      步骤二 · 5-4 [attribute^=value]属性选择器~1.mp4
│          │      步骤二 · 5-5 [attribute$=value]属性选择器~1.mp4
│          │      步骤二 · 5-6 包含属性值选择器~1.mp4
│          │      步骤二 · 5-7 多个属性选择器~1.mp4
│          │      步骤二 · 6-1 过滤器之child系列~1.mp4
│          │      步骤二 · 6-2 过滤器之type系列~1.mp4
│          │      步骤二 · 6-3 过滤器参数~1.mp4
│          │      步骤二 · 7-1 表单相关-表单元素~1.mp4
│          │      步骤二 · 7-2 表单相关-表单状态~1.mp4
│          │      步骤二 · 8-1 查找与过滤-find()、children()、parent()~1.mp4
│          │      步骤二 · 8-2 查找与过滤-next()、prev()、eq()siblings()~1.mp4
│          │      步骤二 · 8-3 查找与过滤-filter()与参数分析~1.mp4
│          │      
│          ├─3.jQuery事件
│          │      步骤二 · 1-1 事件类型-概览~1.mp4
│          │      步骤二 · 2-1 鼠标事件-click、dblclick~1.mp4
│          │      步骤二 · 2-10 鼠标事件-scroll~1.mp4
│          │      步骤二 · 2-3 鼠标事件-mousedown、mouseup~1.mp4
│          │      步骤二 · 2-5 鼠标事件-mouseenter、mouseleave~1.mp4
│          │      步骤二 · 2-6 鼠标事件-hover~1.mp4
│          │      步骤二 · 2-8 鼠标事件-mouseover、mouseout~1.mp4
│          │      步骤二 · 2-9 鼠标事件-mousemove~1.mp4
│          │      步骤二 · 3-1 键盘事件(上)~1.mp4
│          │      步骤二 · 3-2 键盘事件(下)~1.mp4
│          │      步骤二 · 4-1 其它事件-ready、resize~1.mp4
│          │      步骤二 · 4-2 其它事件-focus、blur~1.mp4
│          │      步骤二 · 4-4 其它事件-change~1.mp4
│          │      步骤二 · 4-5 其它事件-select~1.mp4
│          │      步骤二 · 4-6 其它事件-submit~1.mp4
│          │      步骤二 · 5-1 事件参数~1.mp4
│          │      步骤二 · 6-1 事件绑定与取消-on(上)~1.mp4
│          │      步骤二 · 6-2 事件绑定与取消-on(下)~1.mp4
│          │      步骤二 · 6-3 事件绑定与取消-off~1.mp4
│          │      步骤二 · 6-4 事件绑定与取消-one~1.mp4
│          │      
│          ├─4.jQuery扩展
│          │      步骤二 · 1-1 自定义动画~1.mp4
│          │      步骤二 · 1-3 串行动画~1.mp4
│          │      步骤二 · 1-4 动画函数~1.mp4
│          │      步骤二 · 1-6 计时器~1.mp4
│          │      步骤二 · 2-1 扩展与总结~1.mp4
│          │      
│          ├─5.JSON与AJAX基础
│          │      步骤二 · 1-1 什么是ajax及为什么要使用ajax~1.mp4
│          │      步骤二 · 2-1 XMLHttpRequest对象~1.mp4
│          │      步骤二 · 2-10 渲染数据~1.mp4
│          │      步骤二 · 2-11 jquery的ajax方法~1.mp4
│          │      步骤二 · 2-2 创建XMLHttpRequest对象(1)~1.mp4
│          │      步骤二 · 2-3 创建XMLHttpRequest对象~1.mp4
│          │      步骤二 · 2-4 open方法~1.mp4
│          │      步骤二 · 2-5 设置状态请求变化函数与send~1.mp4
│          │      步骤二 · 2-6 获取服务器端返回的数据~1.mp4
│          │      步骤二 · 2-8 json(1)~1.mp4
│          │      步骤二 · 2-9 json(2)~1.mp4
│          │      步骤二 · 3-1 什么是跨域~1.mp4
│          │      步骤二 · 3-2 跨域封装(1)~1.mp4
│          │      步骤二 · 3-3 跨域封装(2)~1.mp4
│          │      步骤二 · 3-4 跨域URL处理~1.mp4
│          │      步骤二 · 3-5 跨域调用~1.mp4
│          │      
│          ├─6.项目:jSon和Ajax登录功能
│          │      步骤二 · 1-1 课程介绍~1.mp4
│          │      步骤二 · 2-1 html结构~1.mp4
│          │      步骤二 · 2-10 脚本~1.mp4
│          │      步骤二 · 2-11 脚本~1.mp4
│          │      步骤二 · 2-2 CSS样式(1)~1.mp4
│          │      步骤二 · 2-3 CSS样式(2)~1.mp4
│          │      步骤二 · 2-4 js脚本~1.mp4
│          │      步骤二 · 2-5 js脚本~1.mp4
│          │      步骤二 · 2-6 js脚本~1.mp4
│          │      步骤二 · 2-7 js脚本~1.mp4
│          │      步骤二 · 2-8 js脚本~1.mp4
│          │      步骤二 · 2-9 js脚本~1.mp4
│          │      步骤二 · 3-1 总结~1.mp4
│          │      
│          └─7.实战:挂号平台首页
│                  步骤二 · 1-1 项目简介~1.mp4
│                  步骤二 · 2-1 首页.模块分析介绍~1.mp4
│                  步骤二 · 3-1 首页.页面框架代码编写~1.mp4
│                  步骤二 · 4-1 首页.基本样式最终效果介绍~1.mp4
│                  步骤二 · 4-2 首页.基本样式-模块-top~1.mp4
│                  步骤二 · 4-3 首页.基本样式-模块-nav&header~1.mp4
│                  步骤二 · 4-4 首页.基本样式-模块-banner~1.mp4
│                  步骤二 · 4-5 首页.基本样式-模块-content_news-1~1.mp4
│                  步骤二 · 4-6 首页.基本样式-模块-content_close-2~1.mp4
│                  步骤二 · 4-7 首页.基本样式-模块-content_tab~1.mp4
│                  步骤二 · 5-1 首页.UI组件-UiSearch(1)~1.mp4
│                  步骤二 · 5-10 首页.UI组件-UiCascading(下)~1.mp4
│                  步骤二 · 5-2 首页.UI组件-UiSearch(2)~1.mp4
│                  步骤二 · 5-3 首页.UI组件-UiMenu~1.mp4
│                  步骤二 · 5-4 首页.UI组件-UiTab~1.mp4
│                  步骤二 · 5-5 首页.UI组件-UiBackTop~1.mp4
│                  步骤二 · 5-6 首页.UI组件-UiSlider(1)~1.mp4
│                  步骤二 · 5-7 首页.UI组件-UiSlider(2)~1.mp4
│                  步骤二 · 5-8 首页.UI组件-UiSlider(3)~1.mp4
│                  步骤二 · 5-9 首页.UI组件-UiCascading(上)~1.mp4
│                  
├─2019前端开发工程师(阶段四)-Vue与React高级框架开发
│  └─4.Vue与React高级框架开发 2019版
│      ├─步骤一:学习高级框架的阶梯ES6基础
│      │  ├─1.ES6基础入门之let、const
│      │  │      步骤一 · 1-1 课程介绍~1.mp4
│      │  │      步骤一 · 2-1 let~1.mp4
│      │  │      步骤一 · 2-4 使用let实现面试常见小例子~1.mp4
│      │  │      步骤一 · 2-6 const~1.mp4
│      │  │      步骤一 · 2-8 const扩展~1.mp4
│      │  │      步骤一 · 3-1 课程总结~1.mp4
│      │  │      
│      │  ├─2.ES6变量的解构赋值
│      │  │      步骤一 · 1-1 课程介绍~1.mp4
│      │  │      步骤一 · 2-1 数组的解构赋值~1.mp4
│      │  │      步骤一 · 2-10 字符串的解构赋值~1.mp4
│      │  │      步骤一 · 2-12 数值与布尔值的解构赋值~1.mp4
│      │  │      步骤一 · 2-13 函数参数的解构赋值~1.mp4
│      │  │      步骤一 · 2-5 对象的解构赋值(一)~1.mp4
│      │  │      步骤一 · 2-8 对象的解构赋值常用场景(二)~1.mp4
│      │  │      步骤一 · 3-1 自定义弹框(一)~1.mp4
│      │  │      步骤一 · 3-2 自定义弹框(二)~1.mp4
│      │  │      步骤一 · 4-1 课程总结~1.mp4
│      │  │      
│      │  ├─3.ES6扩展
│      │  │      步骤一 · 1-1 课程介绍~1.mp4
│      │  │      步骤一 · 2-1 模版字符串~1.mp4
│      │  │      步骤一 · 2-5 字符串部分新的方法~1.mp4
│      │  │      步骤一 · 2-8 for-of~1.mp4
│      │  │      步骤一 · 2-9 unicode表示法~1.mp4
│      │  │      步骤一 · 3-1 正则扩展(u、y 修饰符)~1.mp4
│      │  │      步骤一 · 4-1 数值扩展~1.mp4
│      │  │      步骤一 · 5-1 函数扩展之默认参数~1.mp4
│      │  │      步骤一 · 5-3 剩余参数~1.mp4
│      │  │      步骤一 · 5-6 箭头函数~1.mp4
│      │  │      步骤一 · 6-1 对象的扩展(简洁表示法与属性名表达式)~1.mp4
│      │  │      步骤一 · 6-3 扩展运算符(扩展运算符及新方法)~1.mp4
│      │  │      步骤一 · 6-6 新的方法(新方法)~1.mp4
│      │  │      步骤一 · 7-1 数组扩展~1.mp4
│      │  │      步骤一 · 7-3 新的方法~1.mp4
│      │  │      步骤一 · 8-1 课程总结~1.mp4
│      │  │      
│      │  ├─4.ES6 Promise
│      │  │      步骤一 · 1-1 课程介绍~1.mp4
│      │  │      步骤一 · 2-1 回调与Promise~1.mp4
│      │  │      步骤一 · 2-11 Promise.all()~1.mp4
│      │  │      步骤一 · 2-13 Promise.race()~1.mp4
│      │  │      步骤一 · 2-15 Promise.resolve()与Promise~1.mp4
│      │  │      步骤一 · 2-16 小案例~1.mp4
│      │  │      步骤一 · 2-3 对比回调与Promise的流程控制~1.mp4
│      │  │      步骤一 · 2-5 信任问题~1.mp4
│      │  │      步骤一 · 2-7 错误处理~1.mp4
│      │  │      步骤一 · 2-9 Promise的状态~1.mp4
│      │  │      步骤一 · 3-1 课程总结~1.mp4
│      │  │      
│      │  ├─5.ES6 class
│      │  │      步骤一 · 1-1 课程介绍~1.mp4
│      │  │      步骤一 · 2-1 类与对象简介~1.mp4
│      │  │      步骤一 · 2-2 ES6中的类~1.mp4
│      │  │      步骤一 · 2-4 更高级的面向对象内容简介~1.mp4
│      │  │      步骤一 · 2-5 音乐播放器类实例~1.mp4
│      │  │      步骤一 · 3-1 静态方法与静态属性(1)~1.mp4
│      │  │      步骤一 · 3-10 第三方库~1.mp4
│      │  │      步骤一 · 3-2 静态方法与静态属性(2)~1.mp4
│      │  │      步骤一 · 3-3 类表达式~1.mp4
│      │  │      步骤一 · 3-4 getter 与 setter(1)~1.mp4
│      │  │      步骤一 · 3-5 getter 与 setter(2)~1.mp4
│      │  │      步骤一 · 3-7 name属性与new.target属性~1.mp4
│      │  │      步骤一 · 3-9 在ES5中模拟类~1.mp4
│      │  │      步骤一 · 4-1 ES6中class的继承~1.mp4
│      │  │      步骤一 · 4-2 super关键字的其他内容~1.mp4
│      │  │      步骤一 · 4-3 简单的多态~1.mp4
│      │  │      步骤一 · 4-4 ES5中的继承~1.mp4
│      │  │      步骤一 · 5-1 babel环境安装(1)~1.mp4
│      │  │      步骤一 · 5-2 babel环境安装(2)~1.mp4
│      │  │      步骤一 · 5-3 babel编译~1.mp4
│      │  │      步骤一 · 6-1 封装形变类(1)~1.mp4
│      │  │      步骤一 · 6-2 封装形变类(2)~1.mp4
│      │  │      步骤一 · 6-3 封装形变类(3)~1.mp4
│      │  │      步骤一 · 6-4 封装形变类(4)~1.mp4
│      │  │      步骤一 · 7-1 课程总结~1.mp4
│      │  │      
│      │  └─6.项目:ES6实现图片切换特效
│      │          步骤一 · 1-1 案例介绍~1.mp4
│      │          步骤一 · 2-1 项目目录介绍~1.mp4
│      │          步骤一 · 2-10 createElement方法实现(2)~1.mp4
│      │          步骤一 · 2-11 show方法实现~1.mp4
│      │          步骤一 · 2-12 点击按钮切换分类实现(一)~1.mp4
│      │          步骤一 · 2-13 点击按钮切换分类实现(二)~1.mp4
│      │          步骤一 · 2-14 点击图片放大及遮罩层的实现~1.mp4
│      │          步骤一 · 2-15 上一张和下一张按钮的实现~1.mp4
│      │          步骤一 · 2-2 html结构梳理~1.mp4
│      │          步骤一 · 2-3 需求分析~1.mp4
│      │          步骤一 · 2-4 整体框架梳理~1.mp4
│      │          步骤一 · 2-5 公共方法实现~1.mp4
│      │          步骤一 · 2-6 init方法实现~1.mp4
│      │          步骤一 · 2-7 classify方法实现~1.mp4
│      │          步骤一 · 2-8 createElement方法实现(1)~1.mp4
│      │         
│      ├─步骤三:React基础知识+实战案例
│      │  ├─1.React开发环境准备
│      │  │      步骤三 · 1-1 React 简介~1.mp4
│      │  │      步骤三 · 2-1 React开发环境准备~1.mp4
│      │  │      步骤三 · 2-2 工程目录简介(1)~1.mp4
│      │  │      步骤三 · 2-3 工程目录简介(2)~1.mp4
│      │  │      步骤三 · 2-4 工程目录简介(3)~1.mp4
│      │  │      步骤三 · 2-5 工程目录简介(4)~1.mp4
│      │  │      
│      │  ├─2.React基础入门
│      │  │      步骤三 · 1-1 react中的组件(1)~1.mp4
│      │  │      步骤三 · 1-2 react中的组件(2)~1.mp4
│      │  │      步骤三 · 2-1 什么是 JSX 语法~1.mp4
│      │  │      步骤三 · 2-11 更多 JSX 语法细节(1)~1.mp4
│      │  │      步骤三 · 2-12 更多 JSX 语法细节(2)~1.mp4
│      │  │      步骤三 · 2-3 使用 React 编写 TodoList 功能~1.mp4
│      │  │      步骤三 · 2-5 React 中数据驱动的设计思想和事件绑定(1)~1.mp4
│      │  │      步骤三 · 2-6 React 中数据驱动的设计思想和事件绑定(2)~1.mp4
│      │  │      步骤三 · 2-8 实现 TodoList 新增删除功能(1)~1.mp4
│      │  │      步骤三 · 2-9 实现 TodoList 新增删除功能(2)~1.mp4
│      │  │      
│      │  ├─3.React组件与生命周期
│      │  │      步骤三 · 1-1 组件拆分与组件之间的传值(1)~1.mp4
│      │  │      步骤三 · 1-2 组件拆分与组件之间的传值(2)~1.mp4
│      │  │      步骤三 · 2-1 React 的核心特性总结~1.mp4
│      │  │      步骤三 · 2-10 React 中的生命周期函数(3)~1.mp4
│      │  │      步骤三 · 2-11 React 中的生命周期函数(4)~1.mp4
│      │  │      步骤三 · 2-13 生命周期函数使用实例~1.mp4
│      │  │      步骤三 · 2-2 Props, State 与 render 函数~1.mp4
│      │  │      步骤三 · 2-6 React 中 ref 的使用~1.mp4
│      │  │      步骤三 · 2-8 React 中的生命周期函数(1)~1.mp4
│      │  │      步骤三 · 2-9 React 中的生命周期函数(2)~1.mp4
│      │  │      步骤三 · 3-1 Ant Design 组件库的使用~1.mp4
│      │  │      步骤三 · 4-1 React 中的前端路由(1)~1.mp4
│      │  │      步骤三 · 4-2 React 中的前端路由(2)~1.mp4
│      │  │      
│      │  └─4.项目:React实现新闻网站核心功能
│      │          步骤三 · 1-1 项目简介~1.mp4
│      │          步骤三 · 2-1 Header组件拆分及样式布局(1)~1.mp4
│      │          步骤三 · 2-2 Header组件拆分及样式布局(2)~1.mp4
│      │          步骤三 · 2-3 Ajax获取Header组件数据~1.mp4
│      │          步骤三 · 3-1 列表页面的制作及路由配置(1)~1.mp4
│      │          步骤三 · 3-2 列表页面的制作及路由配置(2)~1.mp4
│      │          步骤三 · 4-1 使用动态路由获取不同列表内容(1)~1.mp4
│      │          步骤三 · 4-2 使用动态路由获取不同列表内容(2)~1.mp4
│      │          步骤三 · 4-3 使用动态路由获取不同列表内容(3)~1.mp4
│      │         
│      └─步骤二:Vue基础+仿淘宝电商实战
│          ├─1.Sass基础
│          │      步骤二 · 1-1 课程简介~1.mp4
│          │      步骤二 · 1-2 sass简介~1.mp4
│          │      步骤二 · 2-1 sass mac环境安装~1.mp4
│          │      步骤二 · 3-1 sass基础语法(1)~1.mp4
│          │      步骤二 · 3-12 sass伪类继承~1.mp4
│          │      步骤二 · 3-15 sass嵌套~1.mp4
│          │      步骤二 · 3-16 sass条件控制~1.mp4
│          │      步骤二 · 3-17 sass内置函数(1)~1.mp4
│          │      步骤二 · 3-18 sass内置函数(2)~1.mp4
│          │      步骤二 · 3-5 sass基础语法(2)~1.mp4
│          │      步骤二 · 3-7 sass常见的基本数据类型(1)~1.mp4
│          │      步骤二 · 3-9 sass加减乘除基本运算(2)~1.mp4
│          │      步骤二 · 4-1 sass案例(1)~1.mp4
│          │      步骤二 · 4-2 sass案例(2)~1.mp4
│          │      步骤二 · 4-3 sass案例(3)~1.mp4
│          │      步骤二 · 4-4 sass案例(4)~1.mp4
│          │      
│          ├─2.Vue基础详解
│          │      步骤二 · 1-1 课程简介~1.mp4
│          │      步骤二 · 2-1 生命周期(上)~1.mp4
│          │      步骤二 · 2-10 条件渲染~1.mp4
│          │      步骤二 · 2-11 列表渲染~1.mp4
│          │      步骤二 · 2-13 事件处理器~1.mp4
│          │      步骤二 · 2-14 表单控件绑定~1.mp4
│          │      步骤二 · 2-15 自定义组件(上)~1.mp4
│          │      步骤二 · 2-17 自定义组件(下)~1.mp4
│          │      步骤二 · 2-18 Vue中DOM操作~1.mp4
│          │      步骤二 · 2-2 生命周期(下)~1.mp4
│          │      步骤二 · 2-20 过渡效果~1.mp4
│          │      步骤二 · 2-21 路由router-link~1.mp4
│          │      步骤二 · 2-22 状态管理vuex~1.mp4
│          │      步骤二 · 2-25 vue-resource请求~1.mp4
│          │      步骤二 · 2-26 移动组件库Mint UI~1.mp4
│          │      步骤二 · 2-5 选项数据~1.mp4
│          │      步骤二 · 2-7 模板语法~1.mp4
│          │      步骤二 · 2-8 计算属性~1.mp4
│          │      步骤二 · 2-9 class与style绑定~1.mp4
│          │      
│          ├─3.项目:Vue搭建课程首页
│          │      步骤二 · 1-1 课程介绍~1.mp4
│          │      步骤二 · 2-1 项目结构搭建~1.mp4
│          │      步骤二 · 2-2 移动端项目配置~1.mp4
│          │      步骤二 · 2-4 sketch设计稿介绍~1.mp4
│          │      步骤二 · 3-1 实现header部分~1.mp4
│          │      步骤二 · 3-2 v-for指令的应用~1.mp4
│          │      步骤二 · 3-4 课程列表组件实现~1.mp4
│          │      步骤二 · 3-6 router-link跳转页面~1.mp4
│          │      步骤二 · 3-7 detail页面完成~1.mp4
│          │      步骤二 · 4-1 课程总结~1.mp4
│          │      
│          ├─4.实战:项目准备与骨架搭建
│          │      步骤二 · 1-1 项目演示~1.mp4
│          │      步骤二 · 1-2 技术选型~1.mp4
│          │      步骤二 · 2-1 开始一个Vue项目~1.mp4
│          │      步骤二 · 2-2 文件和目录结构~1.mp4
│          │      步骤二 · 2-3 公共资源的准备~1.mp4
│          │      步骤二 · 2-4 初始化项目~1.mp4
│          │      步骤二 · 3-1 页面结构和根组件~1.mp4
│          │      步骤二 · 3-2 Tabbar 组件~1.mp4
│          │      步骤二 · 3-3 vue-router~1.mp4
│          │      
│          └─5.实战:Vue webAPP首页开发
│                  步骤二 · 1-1 页面结构和样式~1.mp4
│                  步骤二 · 1-2 Navbar 组件--基础组件开发~1.mp4
│                  步骤二 · 1-3 Navbar 组件--完善~1.mp4
│                  步骤二 · 2-1 幻灯片组件--swiper~1.mp4
│                  步骤二 · 2-2 幻灯片组件--模拟数据~1.mp4
│                  步骤二 · 2-3 幻灯片组件--从服务器端获取数据~1.mp4
│                  步骤二 · 3-1 Loading组件~1.mp4
│                  步骤二 · 3-2 滚动条组件~1.mp4
│                  步骤二 · 3-3 导航面板~1.mp4
│                  步骤二 · 4-1 热卖推荐--jsonp封装~1.mp4
│                  步骤二 · 4-2 热卖推荐--从服务器端获取数据~1.mp4
│                  步骤二 · 4-3 热卖推荐--结构和样式~1.mp4
│                  步骤二 · 4-4 更新滚动条和图片的懒加载~1.mp4
│                  步骤二 · 5-1 下拉刷新--变化提示文字~1.mp4
│                  步骤二 · 5-2 下拉刷新--松手刷新~1.mp4
│                  步骤二 · 5-3 更新幻灯片~1.mp4
│                  步骤二 · 5-4 更新幻灯片--完善~1.mp4
│                  步骤二 · 6-1 上拉加载更多~1.mp4
│                  步骤二 · 6-2 滚动条组件--完善~1.mp4
│                  步骤二 · 7-1 返回顶部组件~1.mp4
│                  步骤二 · 7-2 Header动画效果和显示隐藏~1.mp4
│                  
└─前端攻城狮笔记源码
   

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|每日学IT论坛 |网站地图

GMT+8, 2026-7-14 07:16

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表