Impress.js: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
Line 93: Line 93:
| impress().prev() ||  moves to previous step of the presentation,||  
| impress().prev() ||  moves to previous step of the presentation,||  
|-
|-
| impress().goto() ( idx | id | element, [duration] ) ||  moves the presentation to the step given by its index number, id or the DOM element. The second ''duration'' parameter can be used to overide the default duration of the transition in ms. || impress().goto("menu")
| <source lang="javascript" enclose="div">impress().goto() ( idx | id | element, [duration] </source>) ||  moves the presentation to the step given by its index number, id or the DOM element. The second ''duration'' parameter can be used to overide the default duration of the transition in ms. || impress().goto("menu")
|}
|}



Revision as of 14:10, 25 August 2013

Draft

Introduction

Impress.js is a JavaScript library that allows creating "Prezi-style" presentations.

“impress.js is a presentation framework build upon the powerful CSS3 transformations and transitions on modern web browsers. Bartek Szopka is the creator of this amazing framework. According to the creator, the idea came to him while he was playing with CSS transformations. Prezi.com was the source that got him inspired.” (Ratnayake, 2013: 8)

Impress.js relies on CSS Transforms Level 1 and only will work in modern browser (compatibility table).

First steps

Files

After downloading and unpacking, you will see a directory structure like this (Aug 25 2013):

bartaz-impress.js-1e15c05 (directory)

README.md
apple-touch-icon.png
css (directory)
impress-demo.css
favicon.png
index.html
js (directory)
impress.js

As you will see, there just two important files

  • impress.js - the library
  • index.html - An HTML demo file that also includes the documentation if you look at the source.

The files impress-demo.css, favicon.png and apple-touch-icon.png are not needed and are not used by the index.html demo/manual file.

We suggest starting to learn impress.js by modifying the index.html file. Therefore, we suggest creating a copy of index.html and then opening it in a text editor (preferably one that understands HTML). Also consider renaming the original index.html file.

Structure of impress.js presentation

The JavaScript code will rely on the following structure. Your HTML file must include at the least the following:

  • A big div id="impress"> wrapper that will include all your slide
  • Each slide is defined by div class="step slide"> wrapper. The div then can include an id as well as positioning, scaling and rotation information, all encode through HTML attributes.
<div id="impress">

    <div class="step slide" data-x="0" data-y="-1500">
        <q>Content of slide 1</q>
    </div>

   <div id="tiny" class="step" data-x="2825" data-y="2325" data-z="-3000" data-rotate="300" data-scale="1">
        <p>Content of slide 2</p>
    </div>
</div>

Tables of impress.js attributes

Attribute Description Values Default value Example
data-x Center of slide on x-axis pixels 0 data-x ="-1000"
data-y Center of slide on y-axis pixels 0
data-z Center of slide on z-axis pixels 0
data-rotate-x Rotation of the slide around x-axis degrees 0
data-rotate-y Rotation of the slide around y-axis degrees 0
data-rotate-z (or data-rotate) Rotation of the slide around z-axis degrees 0 data-rotate="270"
data-scale Scaling of slide Number 1 data-scale = "10"

Transition mechanics

When looking at the page, impress.js assigns one three classes: `future`, `present` and `past` to each slide. Only one, i.e. the one shown, is present. At presentation start, all slides are future. Each visited slide becomes past

By default, slides are shown after each other. However you also can script the transition using the API. The impress() function provides access to the API that controls the presentation and provides three functions you can use:

function Description Example
impress().init() initializes the presentation
impress().next() moves to next step of the presentation,
impress().prev() moves to previous step of the presentation,
impress().goto() ( idx | id | element, [duration]
)
moves the presentation to the step given by its index number, id or the DOM element. The second duration parameter can be used to overide the default duration of the transition in ms. impress().goto("menu")

Alternatively you can get these like this:

var api = impress;
api.next();
....

Links

Official
Tutorials
CSS transformation (on which impress.js is based)
Books