回答編集履歴

5

解説図のアップデート

2018/11/24 10:51

投稿

colling
colling

スコア798

test CHANGED
@@ -132,4 +132,4 @@
132
132
 
133
133
  この絵でわかっていただけると思うのですが、、。
134
134
 
135
- ![絵で解説](676410121cae54d6cccb83c663e5368a.png)
135
+ ![絵で解説](9839f84551c13c83fbaaa86422e12841.png)

4

追記

2018/11/24 10:51

投稿

colling
colling

スコア798

test CHANGED
@@ -123,3 +123,13 @@
123
123
  </html>
124
124
 
125
125
  ```
126
+
127
+
128
+
129
+ ---
130
+
131
+ --追記--
132
+
133
+ この絵でわかっていただけると思うのですが、、。
134
+
135
+ ![絵で解説](676410121cae54d6cccb83c663e5368a.png)

3

修正 ちょい修正

2018/11/24 10:29

投稿

colling
colling

スコア798

test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  --追記--
22
22
 
23
- `creatjs`は触ったことがないので、普通のjavascriptで、例を書きますね。
23
+ `creatjs`は触ったことがないので、普通のjavascriptで、divを図形に見立てて例を書きますね。
24
24
 
25
25
  `creatjs`も中身は`javascript`なので同じ考え方だと思います。
26
26
 

2

追記

2018/11/24 08:45

投稿

colling
colling

スコア798

test CHANGED
@@ -29,6 +29,8 @@
29
29
  コメントにて、基準点が画面中央位置じゃない時を気にされていたので、起点 top:400px; left:200px; にしてあります。
30
30
 
31
31
 
32
+
33
+ わかりやすいように、動作をまとめず一つずつ書いてますので参考にしてください。
32
34
 
33
35
  ```javascript
34
36
 

1

追記

2018/11/24 08:44

投稿

colling
colling

スコア798

test CHANGED
@@ -11,3 +11,113 @@
11
11
  `container.y ="大きさが増えた分の半分減らす"`
12
12
 
13
13
  です。
14
+
15
+
16
+
17
+
18
+
19
+ ---
20
+
21
+ --追記--
22
+
23
+ `creatjs`は触ったことがないので、普通のjavascriptで、例を書きますね。
24
+
25
+ `creatjs`も中身は`javascript`なので同じ考え方だと思います。
26
+
27
+
28
+
29
+ コメントにて、基準点が画面中央位置じゃない時を気にされていたので、起点 top:400px; left:200px; にしてあります。
30
+
31
+
32
+
33
+ ```javascript
34
+
35
+ <!DOCTYPE html>
36
+
37
+ <html>
38
+
39
+ <head>
40
+
41
+ <meta charset="UTF-8">
42
+
43
+ <style>
44
+
45
+
46
+
47
+ </style>
48
+
49
+ <script>
50
+
51
+ function kakudai($width){
52
+
53
+ var $target = document.getElementById('box');
54
+
55
+ var orgWidth = $target.clientWidth;//元の幅
56
+
57
+ var orgHeight = $target.clientHeight;//元の高さ
58
+
59
+ var rect = $target.getBoundingClientRect();//元の座標取得(左上の角)
60
+
61
+ var orgTop = rect.top;//元座標 y
62
+
63
+ var orgLeft = rect.left;//元座標 x
64
+
65
+
66
+
67
+
68
+
69
+ var zoom = 1.1;//ボタンを押すたび1.1倍
70
+
71
+ var nextWidth = (orgWidth*zoom);//次のサイズは元の幅×zoom
72
+
73
+ var nextHeight = (orgHeight*zoom);//次のサイズは元の高さ×zoom
74
+
75
+
76
+
77
+ var diffWidth = (nextWidth)-orgWidth;//差を求めてdiffWidthに代入
78
+
79
+ var diffHeight = (nextHeight)-orgHeight;//差を求めてdiffHeightに代入
80
+
81
+
82
+
83
+ $target.style.width = nextWidth+'px';//幅を変更
84
+
85
+ $target.style.height = nextHeight+'px';//高さを変更
86
+
87
+
88
+
89
+ var nextTop = (orgTop-(diffWidth/2))+'px';//大きくなった分の半分を引く
90
+
91
+ var nextLeft = (orgLeft-(diffHeight/2))+'px';//大きくなった分の半分を引く
92
+
93
+ console.log(nextTop);
94
+
95
+ console.log(nextLeft);
96
+
97
+ //場所を新しい場所に移動
98
+
99
+ $target.style.position = 'absolute';
100
+
101
+ $target.style.top = nextTop;
102
+
103
+ $target.style.left = nextLeft;
104
+
105
+ }
106
+
107
+
108
+
109
+ </script>
110
+
111
+ </head>
112
+
113
+ <body>
114
+
115
+ <input type="button" onclick="kakudai()" value="拡大">
116
+
117
+ <div id="box" style="position:absolute;top:400px;left:200px;width:100px;height:100px;background-color:lightgray;"></div>
118
+
119
+ </body>
120
+
121
+ </html>
122
+
123
+ ```