[TOC]
# 总结
## 一。Bootstrap框架
官网: [http://getbootstrap.com/](http://getbootstrap.com/)
中文网址:[https://www.bootcss.com/](https://www.bootcss.com/)
*****
BS是用来做响应式页面的前端UI框架,它提供了栅格系统、样式布局、API供我们直接使用。
### 1.1**特点**
响应式布局;
移动设备优先;
丰富的组件;
界面简介美观;
###1.2 **兼容性**
主流浏览器都支持
(IE8+,firefox,chrome,Opera,Safari);
*****
### 1.3 **步骤**
**1、下载相关文件**
官网打开后下载即可,或者通过包管理工具用命令下载
**2、环境搭建相关代码(引入主要文件**
```
~~~
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
<title>Bootstrap 101 Template</title>
<!-- Bootstrap -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询(media queries)功能 -->
<!-- 警告:通过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起作用 -->
<!--[if lt IE 9]>
低版本浏览器兼容h5标签
<script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script>
低版本浏览器兼容媒体查询
<script src="https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script>
<![endif]-->
</head>
<body>
<h1>你好,世界!</h1>
<!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
<script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
<!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
</body>
</html>
~~~
本地简洁版:
~~~
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />
<title>Bootstrap</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>
~~~
```
## 二。Animate.css
官网(特效参考): [https://daneden.github.io/animate.css/](https://daneden.github.io/animate.css/)
源码下载地址:[https://github.com/daneden/animate.css](https://github.com/daneden/animate.css)
*****
### 2.1**特点**
animate.css 是一个来自国外的跨浏览器的 **CSS3 动画库**,它预设了多种动画效果,例如弹跳,抖动,闪烁,淡入淡出等多种css3动画效果可以直接调用。
### 2.2**兼容性**
animate.css底层是通过css3实现的,当然是只兼容支持 CSS3 animate 属性的浏览器:
IE10+、Firefox、Chrome、Opera、Safari。
### 2.3**步骤**
使用步骤:
1 引入下载好的animate.css文件
2 给要做动画的元素添加类名
要添加两个类名,分别是:
animated(控制时间)
要添加的动画效果类名(控制效果)
## 三. WOW.js
官网地址:[http://mynameismatthieu.com/WOW/index.html](http://mynameismatthieu.com/WOW/index.html)\>
源码下载地址:[https://github.com/matthieua/WOW](https://github.com/matthieua/WOW)
*****
### 3.1**特点**
wow.js是做网页滚动动画的js框架,配合animate.css使用,可以在网页滚动的过程中**释放animate.css动画效果**。
### 3.2**兼容性**
同Animate.css一样
### 3.3**步骤**
使用步骤:
1 引入animate.css文件和wow.js文件
2 书写html结构
在要做滚动动画的元素身上添加**两个类名**
wow(声明元素使用混动动画)
动画名称(滚动释放的动画名称)
3 初始化wow: new WOW().init()
## 四.scrollReveal.js框架
### 4.1**特点**
scrollreveal是兼容pc和移动的滚动动画库,可以制作页面滚动进场动画效果的js框架。它不依赖于其他任何框架。
### 4.2**兼容性**
同Animate.css一样
### 4.3**步骤**
1、引入文件
~~~
<script src="js/scrollReveal.js"></script>
~~~
2、HTML (给需要添加动画效果的标签,添加上标签属性 data-scroll-reveal )
~~~
<li data-scroll-reveal class="left"></li>
<li data-scroll-reveal class="right"></li>
~~~
3、JavaScript调用
~~~
<script>
new scrollReveal();
</script>
~~~
*****
**wow.js和scrollreveal.js对比**
1 都不依赖jquery;
2 WOW.js 的动画只播放一次,而 scrollReveal.js 的动画可以播放一次或无限次;
3 WOW.js 依赖 animate.css,而 scrollReveal.js 不依赖其他任何文件;
4 WOW.js 依赖 animate.css使用,动画效果更多一点,可以根据具体需求选择使用
## 五.zepto库/框架
英文版:[http://zeptojs.com//](http://zeptojs.com//)
中文版:[https://www.html.cn/doc/zeptojs\_api/](https://www.html.cn/doc/zeptojs_api/)
github : [https://github.com/madrobby/zepto](https://github.com/madrobby/zepto)
### 5.1**特点**
**Zepto** 是一个**轻量级**的针对现代高级浏览器的 **JavaScript 库**, 它**与jquery 有着类似的api**。 如果你会用 jquery,那么你也会用 zepto。
**Zepto**的**设计目的是提供 jQuery 的类似的API**,但**并不是100%覆盖 jQuery** 。Zepto设计的目的是有一个**5-10k**的通用库、下载并快速执行、有一个熟悉通用的API,所以你能把你主要的精力放到应用开发上。
### 5.2**兼容性**
Safari 6+
Chrome 30+
Firefox 24+
iOS 5+ Safari
Android 2.3+ Browser
Internet Explorer 10+
### 5.3**zepto选择器**
要在zepto中使用JQ写法的选择器,需要引入zepto的模块selector.js,并且selector.js依赖于zepto,即selector.js要在zepto引入之后引入
### 5.4**zepto动画**
使用zepto动画需要引入zepto的模块fx.js
### 5.5**tap触摸事件**
要添加视口 标签
<meta name="viewport" content="width=device-width, initial-scale=1.0">
*****
zepto中的tap触摸事件和swipe滑动事件都是基于它的touch模块,所以使用之前也要先引入。
tap事件就是移动端的点击事件,它在真正的移动设备上会比click快300ms。
**注意:**tap在谷歌浏览器上测试的时候,一定要打开移动端模拟器,直接用PC端看是没有效果的
### 5.5**swipe滑动事件**
**注意:**使用到滑动事件需要给body添加touch-action属性值为none :
body{touch-action: none;}
浏览器允许一些手势(touch)操作在设置了此属性的元素上,例如:对视口(viewport)平移、缩放等操作 。我们把touch-action设置为none,可以禁止触发默认的手势操作 。而PC浏览器默认情况下没有对滑动进行处理,所以我们屏蔽掉它的默认不触发效果。
## 六 。swipe框架
官方网址 [https://www.swiper.com.cn/](https://www.swiper.com.cn/)
### 6。1特点
Swiper 是一款免费以及轻量级的**移动设备触控滑块**的js框架,主要是为IOS而设计的,同时,在Android、WP8系统以及PC端的浏览器也有着良好的用户体验。
1.轻量级,简洁高效,可定制性非常高;
2.横跨各种设备,兼容IOS/安卓/WP/PC端 设备;
3.提供多种版本支持(可以自由选择jQuery/zepto版或者原生js版);
### 6。2兼容性
兼容性:
内部布局使用flex布局、是CSS3新增的布局方式。PC端不再考虑低版本浏览器。现在的版本是swiper4。
### 6。3 步骤
#### 6。3。1
准备基本结构(**请注意:swiper严格要求布局和类名要使用它自己提供的,所以不能改动**)
```
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<link rel="stylesheet" href="swiper/swiper.css">
</head>
<body>
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide">Slide 1</div>
<div class="swiper-slide">Slide 2</div>
<div class="swiper-slide">Slide 3</div>
</div>
</div>
<script src="swiper/swiper.js"></script>
</body>
</html>
```
#### 6。3。2
添加样式:(设置样式,不添加的话,默认等于父容器的宽度,高度为内容高度)
```
<style>
*{padding: 0; margin: 0; border: 0; list-style: none;}
.swiper-container{width: 600px; height: 400px; background:pink; margin:100px auto;}
</style>
```
#### 6。3。3
创建Swiper对象:
```
<script>
window.onload = function(){
var swiper = new Swiper('.swiper-container');
}
</script>
```
- Javascript
- 组成
- Web API
- 初步认识DOM
- 经典案例 (使用获取id的方法)
- 节点和元素
- 经典案例 (使用获取节点和元素的方法)
- 函数
- 作用域链
- Array对象的方法
- String对象的方法
- 绑定事件
- 事件委托
- 逻辑运算
- js高级(面向对象、)
- 基本知识
- 数据类型
- 基本包装类型的使用
- 定义变量的区别
- JavaScript对象的动态特性
- 关键字in
- 关键字delete
- 运算符
- 创建对象的方式
- 回调函数
- 高阶函数
- 构造器属性
- this指向
- hasOwnProperty属性
- 私有成员和特权方法
- 面向对象和面向过程的基础
- 异常捕获
- 构造函数和普通函数的区别
- 构造函数的补充
- 原型
- 原型图
- 获取原型对象的方法
- 原型对象的访问和设置
- 判断某个对象是否是指定实例对象的原型对象
- constructor
- isPrototypeOf
- instanceof
- 检测对象是公有还是私有
- 核心概念
- 继承
- 混入式继承
- 原型式继承
- 原型链继承
- 借用构造函数继承(call继承,经典继承)
- 组合式继承(推荐)
- class继承
- __ proto __属性
- call方法和apply方法
- Fuction相关知识
- 创建函数的方式
- eval函数
- 浅拷贝和深拷贝
- 浅拷贝
- 深拷贝
- Object相关知识
- Object原型属性和方法
- Object静态成员对象
- 案例
- 数组去重
- 闭包
- 语法
- DOM事件和闭包
- 定时器和闭包
- 即使对象初始化
- 闭包的变形
- 设计模式
- 单例模式
- 发布订阅模式(观察者模式)
- 工厂模式
- 命名空间模式
- 同步和异步
- 垃圾回收机制
- get和set
- JQuery
- 动画方法
- 事件
- 方法
- 节点
- 方法er
- HTML + CSS
- 经验
- flex布局
- px,em ,rem区别
- 清除浮动
- Less
- UI框架
- 一.Bootstrap框架
- 常用类名
- 二 .Animate.css
- 三.WOW.JS
- 四.scrollReveal.js
- 五.zepto框架
- zepto选择器
- 滑动事件
- tap触摸事件
- zepto动画
- 六,swipe框架
- 分页器
- 左右按钮和循环轮播
- 底部滚动和轮播方向
- 自动播放和切换效果
- 移入移除事件
- swipe结合animate.css
- 总结
- 滚滚屏
- 自动化构建工具
- 1.gulp
- 使用gulp编译less成css,并最终压缩css
- 压缩css
- 合并和压缩js
- 压缩图片
- 编写server服务
- 包管理器
- 介绍
- brew
- npm十全大补汤
- ES6
- class类
- class类的使用
- class类的继承结构
- let 和const
- 结构语法
- 模板字符串
- 化简写法
- 形参的默认值
- ...rest参数
- rest剩余参数
- 扩展参数
- 正则表达式
- 创建正则表达式的方式
- 构造函数
- 字面量的方式
- 其他(修饰符)
- 判断是否匹配成功
- 正则表达式案例
- 常见的匹配原则
- 验证密码长度
- 表单验证
- 正则提取
- 正则替换
- vue
- 插值操作
- Mustache语法
- 过滤器
- 绑定相关知识
- 绑定对象
- 单向绑定
- 双向绑定
- 绑定属性
- 动态绑定style
- 绑定事件
- 补充
- 绑定语法
- 基础
- vue介绍
- MVVM
- 计算属性
- 指令
- v-cloak
- 显示和隐藏
- 循环
- 自定义指令
- 本地缓存
- localStorage
- sessionStorage
- 对象劫持
- 组件
- 局部组件
- 父子组件
- 全局组件
- 组件访问实例数据
- 父传子
- 子传父
- 兄弟传兄弟
- 插槽
- methods,computed,watch的区别
- Vue.observable()
- vue.config.js配置
- 修饰符
- .sync修饰符
- $attrs和$listeners
- Node.js
- 使用Node执行js代码的两种方式
- 交互模式
- 解释js文件
- http模板
- request对象的使用
- express框架
- 安装
- post
- 获取请求参数
- post返回页面
- 重定向到别的接口
- get
- 返回页面
- get获取请求参数
- 请求静态资源
- 热重启
- Ajax
- 请求方式
- get请求
- post请求
- jQuery中的ajax方法
- JQuery中的get请求
- jQuery中的post请求
- 微信小程序
- 认识
- 引入样式的方式
- 绑定数据
- 小程序组件
- scroll - view 可滚动视图区域
- 发起请求
- template模板
- rich-text
- web-view
- open-data
- checkbox组件
- label组件
- radio组件
- picker组件
- swiper组件
- Git
- 跨域
- 左侧固定,右侧自适应
- vuex
- 如何解决vuex页面刷新数据丢失问题
- 数据结构
- 树
- 问题累积
- Axios
- 前端路由