經過組件式開發Web App,熟悉了前端項目開發的整個工做流程以及前端人員在整個項目中所處的位置。同時,也學會了MarkMan標註工具的使用和Photoshop的切圖功能,也增強了利用Chrome調試和解決問題的能力。對整個前端知識也有了新的感覺,也進一步確定了本身對前端開發的興趣所在。css
smiling html
總體思路以下:利用MarkMan標註工具進行設計稿標註。利用Photoshop進行切圖。首先,利用fullPage.js插件實現全屏滾動功能。同時,fadeIn()、出場fadeOut()實現組件切換,利用return false阻止事件冒泡和事件捕獲。其次,開發基本的圖文組件。接着,開發內容組織類H5對象,實現內容頁面與組件的組織功能,方便任意添加頁面內容和組件(鏈式調用),同時整合fullpage.js支持頁面切換(經過loader函數實現全部頁面的展現。)經過H5對象添加若干個頁面(整合了fullpage.js),以動畫效果切換組件,實現將組件添加到頁面的功能。而後,在基本圖文組件類和內容組織類完成的基礎上開發圖表組件類。利用html/css實現柱圖和散點圖組件。利用canvas實現折線圖和餅圖組件。最後,在全部的組件開發完成以後進行前端頁面的整合工做。同時,利用XAMPP中的Apache,將其佈置在本地服務器上。前端
源碼:https://github.com/sunshineqt/programtest/tree/master/programtest/webappgit
在線預覽:http://sunshineqt.github.io/programtest/programtest/webapp/index.htmlgithub
1.fullpage.js實現全屏滾動功能和組件入場、出場切換
web
2.基本的圖文組件開發
json
在基本的圖文組件開發中,首先建立基本的圖文組件對象H5ComponentBase,併爲對象添加ID、類名、文本以及基本樣式的設置。接着,組件進行切入、切出時綁定相應的onLoad()/onLeave()基本事件。canvas
3.內容組織類H5對象數組
6. 圖表組件--折線圖服務器
基於基本的圖文組件對象H5ComponentBase建立折線圖組件對象H5ComponentPolyline。首先,利用canvas繪製底層的網格線,根據cfg對象中的數據在網格下方相應位置顯示文本,並將網格線和文本添加進組件。接着,爲每個數據在相應位置上畫圓表示,從起始點到終點相鄰的點用折線連起來。而後,經過前面繪製數據點的函數draw(),不斷調整其參數,從而實現改變數據點的位置,同時利用setTimeout()函數調用數據點函數draw()控制其從0到1增加和從1到0退場動畫。
7.圖表組件-餅圖
基於基本的圖文組件對象H5ComponentBase建立餅圖組件對象H5ComponentPie。加入畫布用於製做網格線背景。以cfg對象寬度的一半做爲半徑畫圓做爲底圖層。初始化餅圖顏色數組,並利用相應的公式計算餅圖開始的角度和結束的角度。根據圓心座標、半徑及起始角度利用arc()便可畫出扇形區域。下一個扇形開始要改變起始角度。
ps:前端頁面整合時,利用Chrome將h5對象下的全部數據轉化爲json字符串。
ps:資料主要來源於慕課網。同時感謝某某某協助我解決遇到的問題。