使用impress.js製作投影片_javascript技巧
上週看到一個朋友做了很炫的縮放式幻燈片,可能因為對此知識了解的不多,找了好久才找到幾個web幻燈片工具。透過篩選決定用Geek的 impress.js 。
impress.js是一款新興的幻燈工具,它的效果類似Prezi,但是擁有3D的功能,而且是在MIT&GPL協議下開源,對於有一定的Web開發基礎的人而言,真是一個福音!只需要簡單的用一些html指令,並載入impress.js就可以製作出一個很絢麗的縮放式幻燈。
製作時首先你需要寫一些head,這和普通的Web是一樣的,但body不同。由於目前impress.js只支援Chrome、Firefox和Safari這樣的現代瀏覽器(摸摸IE…),所以需要一個fallback message。
<body class="impress-not-supported"> <div class="fallback-message"> <p>Your browser <b>doesn't support the features required</b> by impress.js, so you are presented with a simplified version of this presentation.</p> <p>For the best experience please use the latest <b>Chrome</b>, <b>Safari</b> or <b>Firefox</b> browser.</p> </div>
然後開始寫真正的主體,impress部分。這部分必須完全被框在「 < div id="impress" >」之中。
第一中幻燈片是step slide,這個和普通的幻燈片很像,就是一頁一頁的。可以用如下的方法加入
<div id="page1" class="step slide" data-x="-1000" data-y="-1500"> <q>第一页的幻灯片</q> </div>
你需要寫的是id、data-x和data-y。 id就是一個名稱,而data-x、data-y則是座標。事實上impress.js是給你了一個很大場地佈景,而你需要的就是把一張張幻燈片扔進去,放到恰當的位置。然後它會按照你扔的順序進行展示。其實座標還有一個,是data-z,這個座標可以把你帶入3D效果之中,進行縮放。
另一種幻燈就叫做step,不像前一種有個死板的框,這種幻燈片徹底去掉了限制你的框,而是直接的寫在背景上。請看下面這個範例:
<div id="title" class="step" data-x="0" data-y="0" data-scale="4"> <span>你看到的幻灯片由</span> <h1>impress.js</h1> <span>给你呈现</span> </div>
這裡特別的是有一個data-scale,表示這個投影片的大小,你可以把一頁做得非常大或非常小,來提供一個縮放的反差。還有一個旋轉功能:
<div id="its" class="step" data-x="850" data-y="3000" data-rotate="90" data-scale="5"> <p>这是一个 <strong>presentation tool</strong> <br/> 作者从 <a href="http://prezi.com">prezi.com</a> 得到灵感<br/> 利用现代浏览器<strong>CSS3 transforms and transitions</strong>的力量</p> </div>
上面的data-rotate就是表示旋轉的角度。
最後,你可以提供一個hint,告訴使用者需要使用鍵盤的方向鍵來控制整個播放過程。如果用戶剛點開投影片而沒反應,這個提示會自動浮現。
<div class="hint"> <p>请用方向键控制</p> </div>
在頁面的最後,你需要載入impress.js,我這裡是直接引用作者的頁面,但如果是離線的展示,建議下載下來使用。光是載入js是不夠的,還需要用impress().init()來啟動。
<script src="http://bartaz.github.io/impress.js/js/impress.js"></script> <script>impress().init();</script>
事實上這個工具功能還有很多,我只是學了一些最基本的功能。官網的建議是直接看他提供的index.html,裡面有詳細的註解告訴你有什麼功能,我做了一個頁面,也是從作者提供的index.html改出來的。雖然這些東西很簡單,但做一個演講使用的幻燈片,也已經夠好了。我做的頁面放在Gist上,整體程式碼見本頁最後。
當然類似的工具不能不提Prezi,它是這個創意的最初實現,不過據說不支持中文。國內騰訊AlloyTeam也開發了一個叫做 iPresst 的工具,可以說是傻瓜級的好東西,不過由於是社交網絡式的,有點不夠隱私。 impress.js最大的缺陷就是太Geek了,如果能夠有個所見即所得的開發工具,一定能夠推廣開來。
impress.js 尝试 你看到的幻灯片由impress.js
给你呈现这是一个 presentation tool
作者从 prezi.com 得到灵感
利用现代浏览器CSS3 transforms and transitions的力量将你的想法视觉化
请看impress.js
开放的幻灯工具<script> if ("ontouchstart" in document.documentElement) { document.querySelector(".hint").innerHTML = "<p>请用方向键控制</p>"; } </script> <script src="http://bartaz.github.io/impress.js/js/impress.js"></script> <script>impress().init();</script>请用方向键控制
以上內容就是我跟大家分享的使用impress.js製作投影片,程式碼很簡單,希望對大家學習有幫助。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

Python和JavaScript開發者的薪資沒有絕對的高低,具體取決於技能和行業需求。 1.Python在數據科學和機器學習領域可能薪資更高。 2.JavaScript在前端和全棧開發中需求大,薪資也可觀。 3.影響因素包括經驗、地理位置、公司規模和特定技能。

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

如何在JavaScript中將具有相同ID的數組元素合併到一個對像中?在處理數據時,我們常常會遇到需要將具有相同ID�...

實現視差滾動和元素動畫效果的探討本文將探討如何實現類似資生堂官網(https://www.shiseido.co.jp/sb/wonderland/)中�...

學習JavaScript不難,但有挑戰。 1)理解基礎概念如變量、數據類型、函數等。 2)掌握異步編程,通過事件循環實現。 3)使用DOM操作和Promise處理異步請求。 4)避免常見錯誤,使用調試技巧。 5)優化性能,遵循最佳實踐。

深入探討console.log輸出差異的根源本文將分析一段代碼中console.log函數輸出結果的差異,並解釋其背後的原因。 �...

探索前端中類似VSCode的面板拖拽調整功能的實現在前端開發中,如何實現類似於VSCode...
