space, → | next slide |
← | previous slide |
d | debug mode |
## <ret> | go to slide # |
c | table of contents (vi) |
f | toggle footer |
r | reload slides |
z | toggle help (this) |
<style type="text/css" media="screen">
.test {
background-color:green;
text-align:center;
width:400px;
height:400px;
-webkit-transition: background-color 2s ease-in;
}
</style>
<script>
function startATransition () {
this.style.cssText += " background-color: red;"
}
</script>
<div onclick="startATransition()"
class="test">
</div>
<style type="text/css" media="screen">
.test {
background-color:green;
text-align:center;
width:200px;
opacity:0.8;
-webkit-transition:-webkit-transform 2s ease-in;
}
</style>
<script>
function startATransition () {
this.style.cssText += " -webkit-transform: rotate(720deg)"
+ "scale(2.5)"
+ "rotateX(720deg)"
+ "translate3d(0px,200px,0px);"
}
</script>
<div onclick="startATransition()"
class="test">
42l∞ps
</div>
transitions(el, aList, cb, scope)
var myTransitionsConfig = [
{
val:'translate3d(100px,0,0)',
dur:1,
easing:'linear',
cb: function (elt) {
...
}
},
...
];
Function.prototype.delay = function(s){
setTimeout(this, s*1000);
};
function css (id, style) {
var el = id;
if (typeof id == 'string') {
el = document.getElementById(id);
}
el.style.cssText += ';' + style;
}
function anim (id, transform, dur, easing){
css(id, '-webkit-transition:'
+ -webkit-transform '
+ ( dur || 0.5 ) + 's '
+ ( easing || '' )
+ '; -webkit-transform:'
+ transform);
}
function transitions(elt, l, cb, scope) {
var index = 0;
var animation = function () {
anim(elt, l[index].val, l[index].dur, l[index++].easing);
}
animation.delay(0);
elt.addEventListener( "webkitTransitionEnd",
onTansitionEnd,
true);
function onTansitionEnd(ev) {
ev.stopPropagation();
if(ev.srcElement === elt) {
if (l[index-1].cb) l[index-1].cb.call(scope, elt);
if (index === l.length) {
elt.removeEventListener("webkitTransitionEnd",
onTansitionEnd,
true);
if (cb) cb.call(scope, elt);
}
else {
animation.delay(0);
}
}
}
}
var a = new Date().getTime();
function delta() {
console.log((new Date().getTime() - startTime) + 'ms');
}
var oups =
[{
val:'translate3d(500px,100px,0) rotate(720deg)',
dur:1,
easing:'linear',
cb: delta
}, {
val:'translate3d(700px,0px,0) skewY(340deg) rotate(-540deg)',
easing:'ease-in-out',
dur:2,
cb: delta
}, {
val:'translate3d(400px,100px,0) rotate3d(34,45,36,-560deg)',
easing:'ease-in',
dur:3,
cb: delta
}, {
val:'translate3d(0px,0px,0) rotate(0deg)',
easing:'ease-in',
dur:1,
cb: delta
}];
<img id='my-super-test' src='image/one/promotejsvs.png' />
var myelt = document.getElementById('my-super-test');
transitions(myelt, oups, function (elt) {
alert('Done');
});
MyLastAnimations.forEach(function (trans, index) {
transitions(document.getElementById('star-'+(index+1)), trans);
});