OLD | NEW |
| (Empty) |
1 <!doctype html> | |
2 <html> | |
3 <head> | |
4 <meta name="viewport" content="user-scalable:no"> | |
5 <style type="text/css"> | |
6 body { height: 1500px; } | |
7 #center { | |
8 position: fixed; | |
9 left: 40%;; | |
10 width: 50%; | |
11 height: 250px; | |
12 top: 25%; | |
13 background-color: grey; | |
14 -webkit-transform: scale(0.25, 0.25); | |
15 -webkit-transition: -webkit-transform 1s; | |
16 } | |
17 | |
18 #drawer { | |
19 position: fixed; | |
20 top: 0; | |
21 left: 0; | |
22 height: 100%; | |
23 width: 120px; | |
24 background-color: red; | |
25 -webkit-transform: translate3d(-1000px, 0, 0); | |
26 -webkit-transition: -webkit-transform 1s; | |
27 } | |
28 | |
29 </style> | |
30 <script> | |
31 'use strict'; | |
32 window.animationDone = false; | |
33 function makeAnimation() { | |
34 var centerEl = document.querySelector('#center'); | |
35 centerEl.style.webkitTransform = 'scale(1.0, 1.0)'; | |
36 console.time('Interaction.CenterAnimation'); | |
37 centerEl.addEventListener('transitionend', function() { | |
38 console.timeEnd('Interaction.CenterAnimation'); | |
39 var drawerEl = document.querySelector('#drawer'); | |
40 drawerEl.style.webkitTransform = 'translate3D(0, 0, 0)'; | |
41 console.time('Interaction.DrawerAnimation'); | |
42 drawerEl.addEventListener('transitionend', function() { | |
43 console.timeEnd('Interaction.DrawerAnimation'); | |
44 window.animationDone = true; | |
45 }); | |
46 }); | |
47 } | |
48 </script> | |
49 | |
50 <script> | |
51 'use strict'; | |
52 var jankMs = 100; | |
53 var slowMs = 200; | |
54 window.jankScriptDone = false; | |
55 window.slowScriptDone = false; | |
56 function waitMs(ms) { | |
57 var startTime = window.performance.now(); | |
58 var currTime = startTime; | |
59 while (currTime - startTime < ms) { | |
60 var currTime = window.performance.now(); | |
61 } | |
62 } | |
63 function makeJank() { | |
64 console.time('Interaction.JankThreadJSRun'); | |
65 waitMs(jankMs); | |
66 console.timeEnd('Interaction.JankThreadJSRun'); | |
67 window.jankScriptDone = true; | |
68 } | |
69 function makeSlow() { | |
70 console.time('Interaction.SlowThreadJsRun'); | |
71 waitMs(slowMs); | |
72 console.timeEnd('Interaction.SlowThreadJsRun'); | |
73 window.slowScriptDone = true; | |
74 } | |
75 </script> | |
76 | |
77 </head> | |
78 <body> | |
79 <div id="center"> | |
80 This is something in the middle. | |
81 </div> | |
82 <div id="drawer"> | |
83 This is a drawer. | |
84 </div> | |
85 <button type="button" id="animating-button" onclick="makeAnimation()"> | |
86 Click or tap this to trigger an animation. | |
87 </div> | |
88 <button type="button" id="jank-button" onclick="makeJank()"> | |
89 Click or tap this to make jank of 100ms (approximately). | |
90 </div> | |
91 <button type="button" id="slow-button" onclick="makeSlow()"> | |
92 Click or tap this to make wait 200ms (approximately). | |
93 </div> | |
94 | |
95 </body> | |
96 </html> | |
OLD | NEW |