質問編集履歴

2

追記しました

2019/11/24 05:41

投稿

TakuHosoya
TakuHosoya

スコア33

test CHANGED
File without changes
test CHANGED
@@ -89,3 +89,11 @@
89
89
 
90
90
 
91
91
  原因が全くわからず、どなたかお分かりになる方がいらっしゃいましたら、教えて頂けると大変助かります。
92
+
93
+
94
+
95
+ <追記>
96
+
97
+ どうやら、最初、非表示の際はdocument.getElementById('canvas').contentDocumentがnullとなってしまい、一度表示下後に非表示にした際は、しっかりと#documentが取得出来ている様です。
98
+
99
+ ちなみに、最初の非表示の際でもdocument.getElementById('canvas')は正しく取得出来ているので、.contentDocumentの挙動でブラウザによって違いがあるということでしょうか。。。

1

jQueryを追記しました

2019/11/24 05:41

投稿

TakuHosoya
TakuHosoya

スコア33

test CHANGED
File without changes
test CHANGED
@@ -24,7 +24,51 @@
24
24
 
25
25
  <!--表示切替ボタン-->
26
26
 
27
+ <div id="on">表示</div>
28
+
27
- <div class="switchbtn">表示/非表示</div>
29
+ <div id="off">非表示</div>
30
+
31
+ ```
32
+
33
+
34
+
35
+ ```javascript
36
+
37
+ var colordata = new Object();
38
+
39
+ colordata[0] = 'rgba(255,0,0,255)';
40
+
41
+ colordata[1] = 'rgba(0,0,255,255)';
42
+
43
+ colordata[2] = 'rgba(255,255,0,255)';
44
+
45
+ $(function(){
46
+
47
+ $(document).on('click', '#on', function(){
48
+
49
+ $('.parent').fadeIn(400);
50
+
51
+ });
52
+
53
+ $(document).on('click', '#off', function(){
54
+
55
+ $('.parent').fadeOut(400);
56
+
57
+ });
58
+
59
+ $(document).on('click', '.colorbtn', function(){
60
+
61
+ var colorid = $(this).data('color');
62
+
63
+ var svgobj = document.getElementById('canvas').contentDocument;
64
+
65
+ var $svg = $(svgobj).find('svg');
66
+
67
+ $target = $svg.find('path');
68
+
69
+ $target.css('fill', colordata[colorid]);
70
+
71
+ });
28
72
 
29
73
  ```
30
74