回答編集履歴

1

実装例を追加

2018/03/23 03:22

投稿

defghi1977
defghi1977

スコア4756

test CHANGED
@@ -1,4 +1,38 @@
1
1
  `IntersectionObserver`を使って, ドーナツチャートがスクリーンに入った(入りきった)ことを検知してからアニメーションを開始するようすればよいでしょう.
2
+
3
+
4
+
5
+ `IntersectionObserver`の使い方の例
6
+
7
+
8
+
9
+ ```JavaScript
10
+
11
+ const observer = new IntersectionObserver(
12
+
13
+ changes => changes[0].intersectionRatio >= 1 ? draw() : null,
14
+
15
+ {threshold: 1}
16
+
17
+ );
18
+
19
+ observer.observe(canvas);
20
+
21
+ function draw(){
22
+
23
+ canvas.width = canvas.height = 200;
24
+
25
+ const ctx = canvas.getContext("2d");
26
+
27
+ ctx.fillStyle = "blue";
28
+
29
+ ctx.fillRect(0, 0, 200, 200);
30
+
31
+ observer.unobserve(canvas);
32
+
33
+ }
34
+
35
+ ```
2
36
 
3
37
 
4
38