Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Animationszauber - Geringer Aufwand, Maximale W...
Search
Martin W. Kirst
March 01, 2014
Programming
0
11
Animationszauber - Geringer Aufwand, Maximale Wirkung
Einfache Animationen via CSS, JS, jQuery
Martin W. Kirst
March 01, 2014
Tweet
Share
More Decks by Martin W. Kirst
See All by Martin W. Kirst
Typescript, an introduction
nitram509
0
14
Doing effective and fun retrospectives
nitram509
0
78
Reactive Programming - Einführung
nitram509
0
14
Domänen-Objekte sortieren mit Vector Space Classification
nitram509
0
25
Sorting Domain Objects via Vector Space Classification
nitram509
0
15
Other Decks in Programming
See All in Programming
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
210
Hack Claude Code with Claude Code
choplin
5
2.3k
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
190
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
870
ペアプロ × 生成AI 現場での実践と課題について / generative-ai-in-pair-programming
codmoninc
2
19k
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
280
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
130
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
740
テスト駆動Kaggle
isax1015
1
430
AIともっと楽するE2Eテスト
myohei
7
2.8k
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
5
7.7k
NPOでのDevinの活用
codeforeveryone
0
860
Featured
See All Featured
Bash Introduction
62gerente
613
210k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
700
Transcript
ANIMATIONSZAUBER GERINGER AUFWAND, MAXIMALE WIRKUNG © 03/2014 Martin W. Kirst
/ @nitram509
Twitter ⋅ Github ⋅ SourceForge UX-Experte Von ASM bis Zope
1k Demos (378 Byte) ♥ HTML + CSS + JS ♥
Wirkung Grundlagen Animation Prinzipien CSS Animationen Javascript Animationen Tweens /
Tweening AGENDA
Konsistenz > Vielfalt PRINZIP
Position Rotation Skalierung Transformation WAS?
Laufzeit (duration) Verzögerung (delay) Veränderungskurve (easing) WIE?
Hands on… EASING
EASING « Weitere ... http://easings.net »
CSS ANIMATION - EINFACH #rocket { transition: bottom 4s ease-out,
left 4s ease-out; } #rocket.start { bottom: 11px; left: -13px; } #rocket.end { bottom: 300px; left: 385px; }
CSS ANIMATION - KOMPLEX @keyframes up-and-down { 1% {bottom: 11px;
} 50% {bottom: 145px;} 100% {bottom: 11px; } } #rocket { transition: left 4s, ease-out; } #rocket.start { /* ... */ } #rocket.end { animation: up-and-down 4s; left: 385px; }
CSS MENÜS
CSS BILDER .box { transition: all 500ms cubic-bezier(0.190, 1.000, 0.220,
1.000); box-shadow: 0 1px 1px rgba(0,0,0,0.3); transform: translateY(0) scale(0.95, 0.95); } .box.active { box-shadow: 0 11px 18px rgba(0,0,0,0.2); transform: translateY(-20px) scale(1, 1); } http://aerotwist.com/tutorials/protip-nobody-expects-3d/
CSS3 ADVANCED++ http://anthonycalzadilla.com/css3-ATAT/ ⋅ http://codepen.io/Sonick/pen/vijJl ⋅ http://tympanus.net/Tutorials/CreativeCSS3AnimationMenus/
NACHTEILE CSS-ANIMATION Nur DOM Keine Interaktion Keine Callbacks wenn fertig
Prozentuale Zeitangaben (keyframes)
JS - JQUERY BASICS show / hide fadeIn / fadeOut
slideUp / slideDown animate (custom properties)
JS FADING & SLIDING ToDo List Beispiel
CSS BILDER var logo = $('#bedcon-logo'); logo.animate({color: 255}, { duration:
4000, easing: 'swing', step: function (now, tween) { var color = 255 - (now | 0); this.style.backgroundColor = 'rgb('+color+','+color+','+color+')' }, complete: function() { // 2 Sekunden setTimeout() logo[0].style.backgroundColor = '#fff' } });
TWEENING Schlüsselbildanimation Bewegung zwischen Keyframes Unabhängig von UI-Technologie
CSS BILDER img = document.getElementById("bedcon-tween"); tween1 = new TWEEN.Tween( {
x: 10 } ) .to( { x: 190 }, 3000 ) .onUpdate( function () { img.style.left = this.x + 'px'; }); tween1r = new TWEEN.Tween( { r : 0} ) .to( { r: 360 }, 3000) .onUpdate(function () { img.style.transform="rotate("+this.r+"deg)";}); tween2 = new TWEEN.Tween( { y: 270 } ) .to( { y: 10 } ) .easing(TWEEN.Easing.Elastic.InOut) .onUpdate( function () { img.style.bottom = this.y + 'px'; }); tween1.chain(tween2); tween1.start(); tween1r.start();
FAZIT JS + CSS >> JS xor CSS Konsistenz >>
Vielfalt Einfach => Frameworks Komplex => ...
ANIMATION FUN
DANKE ⋅ THANKS ⋅ MERCI ©2014 Martin W. Kirst Twitter:
@nitram509 ⋅ Github: nitram509 ⋅
[email protected]
http://www.aerotwist.com/lab/ http://johnpolacek.github.io/superscrollorama/ https://medium.com/design-ux/8068a5e4cb82 http://hakim.se/ http://easings.net http://codepen.io/Sonick/pen/vijJl http://anthonycalzadilla.com/css3-ATAT/ http://tympanus.net/Tutorials/CreativeCSS3AnimationMenus/ https://github.com/sole/tween.js/ https://github.com/hakimel/reveal.js http://js1k.com/