【译】Impress.js制作酷炫Presentation PPT

首先看个列子:http://www.webhek.com/misc/impress-js

 

昨天,我写了一些关于Impress.js的东西,对于创建在线的自我展示,这是一个非常不错的JavaScript库。由于是线上发布,所有有部 分人问我怎么正确的使用它。因为没有在实际的项目页面设置帮助文档。这一篇文章将帮助你开始创建一个简单的幻灯片,但是之后你一定要完成它,可以用它来做 很多酷炫的效果,唯一限制你的就是你的创造力。

需求

为了看到效果,请使用Google Chrome or Safari (or Firefox 10 or IE10).Impress.js目前并不兼容早期的Firefox or Internet Explorer版本。

创建

首先,要创建一个Web页面。我创建的页面如下:

<!doctype html> <html>     <head>         <title>Impress Tutorial</title>         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">     </head>     <body>    
 </body> </html>

 

在</body>之前添加impress.js文件,将Impress.js导入到你的项目中

<script type="text/javascript" src="impress.js"></script>

 

接下来创建一个id是impress的div容器包裹这个幻灯片,

<div id=“impress”>

</div>

 

创建幻灯片

在个人展示中,你将看到创建一个幻灯片是如此的简单。每个幻灯片是一个class为step的div元素(被包裹在id是impress的容器内)

(ps:<div>的id可有可无,当有id时url中的hash变化是随着id走;反之就是step-[num],如)

<div class="step"> 
   My first slide 
</div>

 

创建幻灯片的同时,要添加一些数据属性。下面是一些可用的数据属性:

data-x = 幻灯片的x坐标

data-y = 幻灯片的y坐标

data-z = 幻灯片的z坐标

data-scale = 通过指定一个值来进行缩放,data-scale为5则将会在你幻灯片原始尺寸基础放大5倍

data-rotate = 通过一个数字度数来确定旋转你的幻灯片

data-rotate-x = 为3D用,这个数字度数是它应该相对x轴旋转多少度。(前倾/后仰)

data-rotate-y = 为3D用,这个数字度数是它应该相对y轴旋转多少度。 (左摆/右摆)

data-rotate-z = 为3D用,这个数字度数是它应该相对z轴旋转多少度。

  让数据属性起作用

接下来的幻灯片设置将引导你理解每一个数据属性

从一个初始的幻灯片开始,这个幻灯片已将它data-x和data-y数据属性设置为0,所以会出现在页面的中间。

<div class="step" data-x="0" data-y="0"> 
    This is my first slide (显示的内容)
</div>

 

第二个幻灯片的data-x值为500、data-y值为0,活动的时候它将会向左平移(滑动)500px的地方。

<div class="step" data-x="500" data-y="-400">
    This is slide 2
</div>
    第三张幻灯片其data-x值不变,data-y位置为-400,这将会是从顶部400px处滑入屏幕。
<div class="step" data-x="500" data-y="-400">
    This is slide 3
</div>

 

第四张幻灯片来个新花样,使用data-scale的值控制其缩放大小。data-scale=”0.5″表示着它应该是一半的尺寸,当它变成活动的演示时将通过必需的倍数调节所有幻灯片的缩放尺寸,从这一步绚丽开始起步

<div class="step" data-x="500" data-y="-800" data-scale="0.5">
    This is slide 4
</div>

 

第五张幻灯片旋转属性允许你旋转一个幻灯片到当前视图,幻灯片5被设置旋转90度,视觉效果微叼哈

<div class="step" data-x="0" data-y="-800" data-rotate="90">
    This is slide 5
</div>

 

第六张幻灯片开始3D style,可为每个维度的轴指定旋转属性(x,y,z)。x轴是横轴,意思是你可使事物倾斜(正值)或向后(负值),y轴是竖轴,所以你可使事物向左摇摆(负值)或向右(正值),z轴是纵轴,这将是旋转的东西向上(负值)和向下(正值)。

<div class=“step” data-x=“-2600″ data-y=“-800″ data-rotate-x=“30”

data-rotate-y=“-60″ data-rotate-z=“90” data-scale=“4”>
This is slide 7 and it has a 3D transition AND a scale.
</div>

 

    对于不支持Impress.js的浏览器做降级处理
    在<div id=”impress”>之前添加如下一个div
<div class="no-support-message"> 
    Your browser doesn't support impress.js. Try Chrome or Safari. 
</div>

 

    然后将下列样式添加到你的样式表中:
.no-support-message { display:none; } .impress-not-supported .no-support-message { display:block; }

 

 

impreess源码已经发布在GitHub上,地址:https://github.com/bartaz/impress.js

官方demo地址:http://bartaz.github.com/impress.js