OLD | NEW |
| (Empty) |
1 <html> | |
2 <style> | |
3 div { | |
4 position: relative; | |
5 height: 100px; | |
6 width: 100px; | |
7 background: blue; | |
8 } | |
9 </style> | |
10 <body> | |
11 <p> | |
12 Each section has below has two boxes. | |
13 <ul> | |
14 <li>Top - runs on main thread.</li> | |
15 <li>Bottom - runs on the compositor, unless otherwise specified.</li> | |
16 </ul> | |
17 The animations should be identical but start at different times. | |
18 </p><p> | |
19 This test is successful if the boxes are mostly in sync (there might be a small | |
20 offset between them). | |
21 </p> | |
22 <hr> | |
23 | |
24 Start delay 0s. | |
25 <br> | |
26 <div class='test0 anim-left'></div> | |
27 <div class='test0 anim-transform'></div> | |
28 | |
29 Start delay 3s. Bottom does not run on compositor. | |
30 <br> | |
31 <div class='test1 anim-left'></div> | |
32 <div class='test1 anim-transform'></div> | |
33 | |
34 Start delay 6s. | |
35 <br> | |
36 <div class='test2 anim-left'></div> | |
37 <div class='test2 anim-transform'></div> | |
38 | |
39 Start delay 9s. | |
40 <br> | |
41 <div class='test3 anim-left'></div> | |
42 <div class='test3 anim-transform'></div> | |
43 <script> | |
44 document.getElementsByClassName('test0 anim-left')[0].animate( | |
45 [{left: '0'}, {left: '300px'}], | |
46 {duration: 2000, easing: 'cubic-bezier(.5, -1, .5, 2)'}); | |
47 | |
48 document.getElementsByClassName('test0 anim-transform')[0].animate( | |
49 [{transform: 'translateX(0)'}, {transform: 'translateX(300px)'}], | |
50 {duration: 2000, easing: 'cubic-bezier(.5, -1, .5, 2)'}); | |
51 | |
52 setTimeout(function() { | |
53 document.getElementsByClassName('test1 anim-left')[0].animate( | |
54 [{left: '0', easing: 'ease-in'}, {left: '300px'}], | |
55 {duration: 2000, easing: 'cubic-bezier(.5, -1, .5, 2)'}); | |
56 | |
57 document.getElementsByClassName('test1 anim-transform')[0].animate( | |
58 [{transform: 'translateX(0)', easing: 'ease-in'}, {transform: 'translate
X(300px)'}], | |
59 {duration: 2000, easing: 'cubic-bezier(.5, -1, .5, 2)'}); | |
60 }, 3000); | |
61 | |
62 setTimeout(function() { | |
63 document.getElementsByClassName('test2 anim-left')[0].animate( | |
64 [{left: '0', easing: 'ease-in'}, {left: '300px'}], | |
65 {duration: 2000, easing: 'ease-out'}); | |
66 | |
67 document.getElementsByClassName('test2 anim-transform')[0].animate( | |
68 [{transform: 'translateX(0)', easing: 'ease-in'}, {transform: 'translate
X(300px)'}], | |
69 {duration: 2000, easing: 'ease-out'}); | |
70 }, 6000); | |
71 | |
72 setTimeout(function() { | |
73 document.getElementsByClassName('test3 anim-left')[0].animate([ | |
74 {left: '0'}, | |
75 {left: '100px', easing: 'ease-in'}, | |
76 {left: '200px'}, | |
77 {left: '300px'} | |
78 ], {duration: 2000, easing: 'cubic-bezier(.5, -1, .5, 2)'}); | |
79 | |
80 document.getElementsByClassName('test3 anim-transform')[0].animate([ | |
81 {transform: 'translateX(0)'}, | |
82 {transform: 'translateX(100px)', easing: 'ease-in'}, | |
83 {transform: 'translateX(200px)'}, | |
84 {transform: 'translateX(300px)'} | |
85 ], {duration: 2000, easing: 'cubic-bezier(.5, -1, .5, 2)'}); | |
86 }, 9000); | |
87 </script> | |
88 </body> | |
89 </html> | |
OLD | NEW |