summaryrefslogtreecommitdiffstats
path: root/click1/demo.js
blob: d9696b1459a8a1ddeee11f99e64a29ae427d2e70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
var box;
var boxX = 0, boxY = 0;

document.addEventListener( 'DOMContentLoaded', init, false );

function init() {
  box = document.querySelector('#box');

  box.addEventListener( 'mousedown', onMousedown, false );
  box.addEventListener( 'click', onClick, false );
}

// ----- mouse ----- //

var dragStartX, dragStartY;
var dragStartBoxX, dragStartBoxY;
var mouseDownEvent;

function onMousedown( event ) {
  // event.preventDefault();
  dragStartX = event.pageX;
  dragStartY = event.pageY;
  // position of box when drag started
  dragStartBoxX = boxX;
  dragStartBoxY = boxY;

  window.addEventListener( 'mousemove', onMousemove, false );
  window.addEventListener( 'mouseup', onMouseup, false );
}

function onMousemove( event ) {
  boxX = dragStartBoxX + ( event.pageX - dragStartX );
  boxY = dragStartBoxY + ( event.pageY - dragStartY );
  box.style.left = boxX + 'px';
  box.style.top = boxY + 'px';
}

function onMouseup() {
  window.removeEventListener( 'mousemove', onMousemove, false );
  window.removeEventListener( 'mouseup', onMouseup, false );
}

// ----- click ----- //

function onClick() {
  console.log('click');
}