項目的 Demo 在 http://juy.fm 。
好久沒更新了,其實編碼并未中斷,雖然進度是慢了些。主要原因是這幾天的代碼之前都寫過,只是做了些整理和微調。我把核心步驟再復現(xiàn)一遍:
- 下載 turn.js 插件放在項目的 client/lib 文件夾中。閱讀 turn.js 的文檔,了解其中最基礎的幾個方法。
- turn.js 的實現(xiàn)中有一個部分需要理解清楚,不管這本書有多少頁,它最多只會保存 6 頁的 DOM 元素。所以在本項目中,除了前后封面以及開篇介紹頁外,其余具體的歌曲頁都是通過 $.turn('addPage', function() { ... }) 動態(tài)加入的。
- 另一塊需要系統(tǒng)了解的知識是對 audio 對象的操作,如 play、pause 方法等,以及它的狀態(tài)值 readyState 為不同值時對應的播放器的狀態(tài)。
- 調節(jié)音量大小的 slider 我直接選擇了 bootstrap-slider 模塊。
- 對了,還有一個輔助工具:IcoMoons 提供的 Web Font,利用到 CSS 的 @font-face 特性。我根據(jù)自己的需求選取了一些免費圖標自定義了一個字體。Web Font 在我看來最大的幾個好處是:體積小、一次加載、可以使用 CSS 調節(jié)大小和顏色。
- 集齊了上述所有這些工具后,就可以一步步搭建 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