bzr branch
http://gegoxaren.bato24.eu/bzr/lenasys/0.1
7.1.2
by elof.bigestans at gmail
Added relevant files |
1 |
// Recursive Pos of div in document - should work in most browsers
|
2 |
function findPos(obj) { |
|
3 |
var curleft = curtop = 0; |
|
4 |
if (obj.offsetParent) { |
|
5 |
curleft = obj.offsetLeft; |
|
6 |
curtop = obj.offsetTop; |
|
7 |
while (obj = obj.offsetParent) { |
|
8 |
curleft += obj.offsetLeft; |
|
9 |
curtop += obj.offsetTop; |
|
10 |
} |
|
11 |
} |
|
12 |
return { |
|
13 |
x:curleft, |
|
14 |
y:curtop |
|
15 |
} |
|
16 |
}
|
|
17 |
||
18 |
// The idea is to have a few functions like this one and minimum javascript intervention
|
|
19 |
function updateslider(e, kind, smin, smax, slen, sliderid, boxid) { |
|
20 |
if(mb) { |
|
21 |
coords = findPos(e.currentTarget); |
|
22 |
coords.x = e.clientX - coords.x; |
|
23 |
coords.y = e.clientY - coords.y; |
|
24 |
cx = coords.x / slen; |
|
25 |
sd = smax - smin; |
|
26 |
val = smin + (sd * cx); |
|
27 |
if(kind == 1) { |
|
28 |
val = Math.round(val); |
|
29 |
} |
|
30 |
document.getElementById(boxid).value = val; |
|
31 |
document.getElementById(sliderid).style.left = Math.ceil((slen) * ((val - smin) / sd))+"px"; |
|
32 |
} |
|
33 |
}
|
|
34 |
||
35 |
var mb = 0; |
|
36 |
||
37 |
function mbpress(e) { |
|
38 |
mb = 1; |
|
39 |
}
|
|
40 |
||
41 |
function mbrelease(e) { |
|
42 |
mb = 0; |
|
43 |
}
|