回答編集履歴

1

疑問点を追加。コードをシンプルに

2016/08/31 16:26

投稿

MakeNowJust
MakeNowJust

スコア545

test CHANGED
@@ -1,4 +1,8 @@
1
+ 初めに疑問なのですが、どうして`transition`関連のプロパティに全てベンダプレフィックス(`webkit`)を付けているのでしょうか? 現在普及しているブラウザの9割以上は`transition`はプレフィックス無しで動作するはずです。
2
+
3
+
4
+
1
- `transitionend`イベントは変化したCSSプロパティの数だけ発火します。
5
+ さて、`transitionend`イベントは変化したCSSプロパティの数だけ発火します。
2
6
 
3
7
 
4
8
 
@@ -12,44 +16,22 @@
12
16
 
13
17
  ```javascript
14
18
 
15
- // 1度目のアドイベントリスナーで呼び出したい処理
19
+ // 1度目のアドイベントリスナーで呼び出したい処理
16
20
 
17
- callback1 = (function(e) {
21
+ callback1 = (function(e) {
18
22
 
19
- // opacity以外のプロパティの変化は無視します
23
+ // opacity以外のプロパティの変化は無視します
20
24
 
21
- if (e.propertyName !== 'opacity') {
25
+ if (e.propertyName !== 'opacity') {
22
26
 
23
- return;
27
+ return;
24
28
 
25
- }
29
+ }
26
30
 
27
31
 
28
32
 
29
- // ここでまずイベントリスナーをリムーブしています
30
-
31
- selector.removeEventListener('webkitTransitionEnd', callback1);
32
-
33
- selector.style.width = '20px';
34
-
35
- selector.style.height = '20px';
36
-
37
- selector.style.bottom = '20px';
38
-
39
- selector.style.right = '20px';
40
-
41
- selector.style.borderRadius = '10px';
42
-
43
- selector.style.transform = 'rotate(520deg)';
44
-
45
- selector.style.webkitTransitionDuration = '450ms';
46
-
47
- selector.style.webkitTransitionTimingFunction = EASE['InOutQuint'];
48
-
49
- // 2度目のアドイベントリスナー
33
+ // 以下同じ
50
-
51
- taki.addEventListener('webkitTransitionEnd', callback2);
52
-
53
- });
54
34
 
55
35
  ```
36
+
37
+