Ciao a tutti,
sto studiando da poco JS quindi ci capisco veramente poco sugli eventi.
Il mio problema è che vorrei realizzare (come esercizio) un DIV trascinabile all'interno della finestra del browser.
Ho creato un paio di funzioni ma non sò come passare i valori della prima init() alla seconda sposta().
codice:
function init(evt) {
var e = (evt) ? evt : window.event;
var posX = (e.pageX) ? e.pageX : (e.clientX + document.body.scrollTop);
var posY = (e.pageY) ? e.pageY : (e.clientY + document.body.scrollLeft); }
function sposta(elem) {
elem.style.top = posY + 'px';
elem.style.left = posX + 'px';
}
Nel body ho messo :
<body onmousemove="init(event)">
mentre nel DIV:
onmousedown="sposta(this)"
Sò che il problema principale è l'ambito di validità delle variabili posX e posY ma se metto davanti GLOBAL non funziona comunque.
Ho un pò di confusione, mi potreste aiutare?
Grazie.
P.S.
Inoltre su IE7 le proprietà document.body.scrollLeft e scrollTop mi restituiscono sempre 0 ... com'è possibile?!