impress.js 使用教程

一、官方示例

项目地址:https://github.com/impress/impress.js

文件构成

impress:

  • js
    • impress.js(JavaScript文件,提供特效支持,核心库)
  • css
    • impress_demo.css(CSS文件,提供样式支持)
  • html
    • index.html(HTML文件,幻灯片入口)

二、HTML说明

头部

  1. <!DOCTYPE html>
  2. <html lang=“en”>
  3. <head>
  4.     <meta charset=“utf-8” />
  5.     <meta name=“viewport” content=“width=1024” />
  6.     <meta name=“apple-mobile-web-app-capable” content=“yes” />
  7.     <title>impress.js</title>
  8.     <link href=“css/impress-demo.css” rel=“stylesheet” />
  9.     <link rel=“apple-touch-icon” href=“apple-touch-icon.png” />
  10. </head>

支持反馈
当浏览器不支持时会显示,可改写错误信息的内容。

  1. <body class=“impress-not-supported”>
  2. <div class=“fallback-message”>
  3.     <p>你的浏览器不支持  impress.js</p>
  4.     <p>你可以下载 Chrome 浏览器</p>
  5. </div>

幻灯片区域

创建id为impress的div,文稿放在此div内:

三、创建幻灯

impress.js 创建了一个三维空间,所有的幻灯片都有各自的位置坐标(x,y,z)。

空间的中心是原点(0,0,0)。

其他的幻灯片或文字都是相对于这个原点来设置位置的。

所有幻灯片都使用一个div:

id(可选)——可以用来表示幻灯片的顺序,格式是id=“step-N”,(比如id=”step-2″,序号为2)。如果不指定id的话,幻灯片按照代码从上往下的顺序出现。
class(必须)——通常有两个值,“step”表示一个步骤,元素透明显示,“step slide”有幻灯片白色方框。

位置属性

data-x——表示x轴坐标
data-y——表示y轴坐标
data-z——表示z轴坐标

常用效果

data-rotate——表示旋转,分别有data-rotate-xdata-rotate-ydata-rotate-z(同data-rotate),值表示旋转的度数。
data-scale——表示幻灯片的大小,如data-scale=”4″表示比其他幻灯片大四倍

data-transition-duration——幻灯片切换的时间,默认为1000,单位为ms(1000ms=1s)

data-perspective——表示视角,设为0则取消3D效果。默认为1000。

例子

第一个div创建了一个有白色底框的幻灯片,位置在第四象限,沿x轴顺时针旋转90度。文本是100px大小的“Hello, world!”。

第二个div创建了一个透明的幻灯片,位置在第一张幻灯片的右上方,绕z轴旋转90度。

  1. <div class=“step” data-x=“2000” data-y=“-2000” data-rotate-z=“90”>
  2.     <q>Hello, You!</q>
  3. </div>

第三个div创建了一个透明的幻灯片,位置在第二张下方。

第四个div创建了一个透明的幻灯片,位置在第三张绕y轴旋转90度的地方,2倍大小。

全览

  1. <div id=“overview” class=“step” data-x=“3000” data-y=“1500” data-scale=“10”>
  2. </div>

 

四、进阶媒体

<video>和 <audio>标签插入音视频,控制方式有三种:

controls 显示视频控制条
loop 自动播放,循环播放
autoplay  自动播放
  1. <video width=“320” height=“460” autoplay>
  2.     <source src=“video/test.webm” type=video/webm>
  3. </video>

设置自动播放

  1. var videoStep = document.getElementById(“video-step”);
  2. var video = document.getElementById(“video”);
  3. videoStep.addEventListener(“impress:stepenter”function(){
  4.     video.play();
  5. }, false);
  6. videoStep.addEventListener(“impress:stepleave”function(){
  7.     video.pause();
  8. }, false);

设置幻灯片的id设为video-step,视频的id设为video。

  1. <div id=“video-step” class=“step” data-x=“-50000” data-y=“2000” data-z=“-60000” data-scale=“6”>
  2.     <video id=“video” width=“420” height=“340” autoplay>
  3.         <source src=“video/IMG_1254.webm” type=“video/webm”>
  4.     </video>
  5. </div>

多个视频或音频

  1. var video1 = document.getElementById(“video-1”);  
  2. var video2 = document.getElementById(“video-2”);  

进入幻灯片时执行的函数变更为

  1. videoStep.addEventListener(“impress:stepenter”function(){  
  2.     video1.play();  
  3.     video2.play();  
  4. }, false);  

本文链接地址: impress.js 使用教程

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注