在停止實習後,生活最大變化在於沒有項目的壓力,可以根據興趣場景,探索技術實現。這個過程對於個人來說,動力自內而外,需求自上而下,都由個人把握。
生活在移動互聯網井噴的今天,同時又關注前端技術,平常對微信端流行的交互(或者說玩法)有着特殊的敏感性。如果說之前接觸MVC框架還是對單頁面網站、CSS3前沿特效有一個概念的話,微信朋友圈及好友分享網頁,則把國內網頁構建的流行趨勢,從幕後推向前臺。
樂帝通過研究移動端web流行交互,構建起了一個初步可行的技術方案,用來實現單頁面與DOM動畫。在這個過程中樂帝對於單頁面概念、動畫、技術通用實現等,有了更深層次理解。
一、研究背景及現實需求
1.研究背景
如上所述,微信端朋友圈或好友消息中,分享的複雜交互的網頁有兩個特點:單頁面切換與DOM元素特效。採用以上技術常見應用場景有:宣傳、答題、講故事。從本質上說,移動端採用如上兩種交互形式,更像是替代flash在PC端的功能。單頁面對應動畫中的分幀的概念,DOM元素特效則對應動畫中各種特效。
2.現實需求
如果說樂帝對前端技術的敏感算一點現實需求的話,那麼樂帝近期做的答題項目以及爲高中校友做一個給客戶的新年祝福,更是迫切的需求。
樂帝答題項目交互做的很簡單,不斷實現DOM的顯示與隱藏,這正是對應動畫分幀的功能。採用頻繁的DOM操作,來不斷進行view的切換,顯然可以更加自動化。同時進入每個view頁面可以更加絢麗多變,由此構成研究的現實需求。
二、技術研究點及研究過程
1.技術研究點
如研究背景和需求所述,主要研究點爲單頁面切換與CSS3特效。在這兩個研究點之外,還有一個對於瀏覽器全屏功能的研究,此研究點主要基於新年祝福項目中,樂帝考慮到爲與PPT展現方式保持一致,需要有個全屏功能。
2.研究過程
首先通過搜索引擎搜索相關技術,這裏樂帝推薦兩個技術源:jQuery插件庫網站與夢想天空博客園博客。
通過以上搜索確定了四個庫或插件備選:
- 瀏覽器全屏插件:jquery.fullScreen.js
- 全屏滾動頁面切換插件:pagePiling.js
- DOM元素動畫類庫:WOW.js
- 文本動畫插件:Textillate.js
- 構造成幀,需要對DOM動畫執行狀態進行判斷。
- 如採用事件監聽成幀,需要不斷加深嵌套,代碼耦合性過高。
- 通過查找API例子,瞭解到動畫監聽事件:開始、結束、迭代。由此有了動畫執行狀態的判斷。解決了成幀的問題。
- 通過採用單頁面插件,每個view作爲場景,由此用於減輕嵌套層級的問題。