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
18
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Animationszauber - Geringer Aufwand, Maximale Wirkung
Einfache Animationen via CSS, JS, jQuery
Martin W. Kirst
March 01, 2014
More Decks by Martin W. Kirst
See All by Martin W. Kirst
Typescript, an introduction
nitram509
0
20
Doing effective and fun retrospectives
nitram509
0
99
Reactive Programming - Einführung
nitram509
0
19
Domänen-Objekte sortieren mit Vector Space Classification
nitram509
0
29
Sorting Domain Objects via Vector Space Classification
nitram509
0
19
Other Decks in Programming
See All in Programming
運用ダッシュボードの設計を誰も教えてくれないのだけどみなさんどうしてるんですか? - チームに監視するという文化を根付かせるための第一歩を踏みたい -
satoshi256kbyte
1
110
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
370
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
210
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
330
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
360
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
840
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
230
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
220
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
FDEが実現するAI駆動経営の現在地
gonta
2
280
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
410
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
260
Featured
See All Featured
How to make the Groovebox
asonas
2
2.3k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Paper Plane (Part 1)
katiecoart
PRO
1
10k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
610
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
Music & Morning Musume
bryan
47
7.3k
How to Ace a Technical Interview
jacobian
281
24k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
480
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
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/