-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathresizer.js
42 lines (27 loc) · 1022 Bytes
/
resizer.js
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
var resizer = document.querySelector(".resizer"),
sidebar = document.querySelector(".sidebar");
function initResizerFn( resizer, sidebar ) {
// track current mouse position in x var
var x, w;
function rs_mousedownHandler( e ) {
x = e.clientX;
var sbWidth = window.getComputedStyle( sidebar ).width;
w = parseInt( sbWidth, 10 );
document.addEventListener("mousemove", rs_mousemoveHandler);
document.addEventListener("mouseup", rs_mouseupHandler);
}
function rs_mousemoveHandler( e ) {
var dx = e.clientX - x;
var cw = w + dx; // complete width
if ( cw < 700 ) {
sidebar.style.width = `${ cw }px`;
}
}
function rs_mouseupHandler() {
// remove event mousemove && mouseup
document.removeEventListener("mouseup", rs_mouseupHandler);
document.removeEventListener("mousemove", rs_mousemoveHandler);
}
resizer.addEventListener("mousedown", rs_mousedownHandler);
}
initResizerFn( resizer, sidebar );