sono ignorante anche io e non ho ben capito che cosa significhi questa riga:
document.onmouseup = new Function("curElement=null")
però credo che proprio li dovresti chiamare una funzione per scrivere un cookie che salvi la posizione
Codice PHP:
function salva (id) {
SetCookie(id+"-pos-x",newleft,30);
SetCookie(id+"-pos-y",newtop,30);
curElement=null; // non sono sicuro che questo sia corretto
}
function SetCookie(cookieName,cookieValue,nDays) {
var today = new Date();
var expire = new Date();
if (nDays==null || nDays==0) nDays=1;
expire.setTime(today.getTime() + 3600000*24*nDays);
document.cookie = cookieName +"="+ escape(cookieValue) +";expires="+ expire.toGMTString();
}
function ReadCookie(cookieName) {
var theCookie=""+document.cookie;
var ind=theCookie.indexOf(cookieName);
if (ind==-1 || cookieName=="") return "";
var ind1=theCookie.indexOf(';',ind);
if (ind1==-1) ind1=theCookie.length;
return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}
hai anche bisogno di una funzione che ti legga i cookie
Codice PHP:
function riordina(el-id) {
var newleft = ReadCookie(id+"-pos-x");
var newtop = ReadCookie(id+"-pos-y");
var el = document.getElementById(el-id);
if (newleft) el.style.pixelLeft = newleft;
if (newtop) el.style.pixelTop = newtop;
}
da chiamare quando la pagina e tutti gli elementi da riordinare sono stati caricati
riordina("id dell'oggetto");
a dire la verità non ho capito molto del codice postato, ne sono riuscito a farlo funzionare, ma mi sembra di capire che lavori sugli elementi selezionati senza che sia necessario specificarne l'id. invece per salvare la posizione di un oggetto direi che l'id lo devi sapere. perciò tutto il codice va aggiustato di conseguenza.
non so se esista una funzione che faccia l'inverso di getElementById(), ma penso che farebbe al caso