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?!

Rispondi quotando