質問編集履歴

2

コードの修正

2020/05/12 16:44

投稿

knight1220
knight1220

スコア23

test CHANGED
File without changes
test CHANGED
@@ -192,8 +192,6 @@
192
192
 
193
193
 
194
194
 
195
- //コールバック(登録だけして後で実行する,mmove関数は後で記載するのに使えるのはコールバックだから)
196
-
197
195
  table.addEventListener('mousemove',mmove,false);
198
196
 
199
197
  if( clickPoint.classList.contains('target') ){
@@ -212,10 +210,6 @@
212
210
 
213
211
  }
214
212
 
215
-
216
-
217
- //コールバック
218
-
219
213
  table.addEventListener('mouseup',mup,false);
220
214
 
221
215
  }

1

コードを修正しました。

2020/05/12 16:44

投稿

knight1220
knight1220

スコア23

test CHANGED
File without changes
test CHANGED
@@ -173,3 +173,103 @@
173
173
  table.addEventListener('mousedown',mdown,false);
174
174
 
175
175
  ```
176
+
177
+
178
+
179
+ ```Javascript
180
+
181
+
182
+
183
+ let table=document.querySelector('.box_cover');
184
+
185
+
186
+
187
+ function mdown(){
188
+
189
+ let clickPoint=event.target;
190
+
191
+ event.target.classList.add('target');
192
+
193
+
194
+
195
+ //コールバック(登録だけして後で実行する,mmove関数は後で記載するのに使えるのはコールバックだから)
196
+
197
+ table.addEventListener('mousemove',mmove,false);
198
+
199
+ if( clickPoint.classList.contains('target') ){
200
+
201
+
202
+
203
+ if( clickPoint.classList.contains('item') ){
204
+
205
+ clickPoint.classList.add('zIndex');
206
+
207
+ clickPoint.classList.add('hover');
208
+
209
+ }
210
+
211
+
212
+
213
+ }
214
+
215
+
216
+
217
+ //コールバック
218
+
219
+ table.addEventListener('mouseup',mup,false);
220
+
221
+ }
222
+
223
+
224
+
225
+ function mmove(){
226
+
227
+ let clickPoint=event.target;
228
+
229
+ console.log(clickPoint);
230
+
231
+ //座標の読み取り
232
+
233
+ let itemHeight=clickPoint.clientHeight/2;
234
+
235
+ let itemWidth=clickPoint.clientWidth/2;
236
+
237
+
238
+
239
+ if( clickPoint.classList.contains('target') ){
240
+
241
+ if( clickPoint.classList.contains('item') ){
242
+
243
+ let pageY=event.pageY;
244
+
245
+ let pageX=event.pageX;
246
+
247
+ clickPoint.style.top=`${pageY-itemHeight}px`;
248
+
249
+ clickPoint.style.left=`${pageX-itemWidth}px`;
250
+
251
+ }
252
+
253
+ }
254
+
255
+
256
+
257
+ }
258
+
259
+
260
+
261
+ function mup(){
262
+
263
+ table.removeEventListener('mousemove',mmove,false);
264
+
265
+ event.target.classList.remove('target');
266
+
267
+ event.target.classList.remove('zIndex');
268
+
269
+ }
270
+
271
+
272
+
273
+ table.addEventListener('mousedown',mdown,false);
274
+
275
+ ```