[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
- 前端路由