9. 模擬書的樣式和交互的 turn.js

項目的 Demo 在 http://juy.fm 。

好久沒更新了,其實編碼并未中斷,雖然進度是慢了些。主要原因是這幾天的代碼之前都寫過,只是做了些整理和微調。我把核心步驟再復現(xiàn)一遍:

  1. 下載 turn.js 插件放在項目的 client/lib 文件夾中。閱讀 turn.js 的文檔,了解其中最基礎的幾個方法。
  2. turn.js 的實現(xiàn)中有一個部分需要理解清楚,不管這本書有多少頁,它最多只會保存 6 頁的 DOM 元素。所以在本項目中,除了前后封面以及開篇介紹頁外,其余具體的歌曲頁都是通過 $.turn('addPage', function() { ... }) 動態(tài)加入的。
  3. 另一塊需要系統(tǒng)了解的知識是對 audio 對象的操作,如 play、pause 方法等,以及它的狀態(tài)值 readyState 為不同值時對應的播放器的狀態(tài)。
  4. 調節(jié)音量大小的 slider 我直接選擇了 bootstrap-slider 模塊。
  5. 對了,還有一個輔助工具:IcoMoons 提供的 Web Font,利用到 CSS 的 @font-face 特性。我根據(jù)自己的需求選取了一些免費圖標自定義了一個字體。Web Font 在我看來最大的幾個好處是:體積小、一次加載、可以使用 CSS 調節(jié)大小和顏色。
  6. 集齊了上述所有這些工具后,就可以一步步搭建 pAlbum 這本樂輯書了。結構部分就是按照需求一類頁面對應一個模板;然后再豐富樣式;至于 JavaScript 的交互,主要就是處理動態(tài)加新頁面以及翻頁的邏輯。還有一塊是嘗試對 Audio player 采用狀態(tài)模式來管理,目前只是用傳統(tǒng)的創(chuàng)建類和對象的方式來實現(xiàn)狀態(tài)模式,下回會考慮結合 JavaScript 的語言特性對已實現(xiàn)的狀態(tài)模式進行優(yōu)化。

Github 地址:這次更新內容有點多...

干巴巴地講了這么多回,上個目前已有的封面圖吧:

最帥就這張的 Eric Clapton
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容