Ciao ragazzi, mi rendo conto che il titolo nn è molto chiaro.
Ho questo problema che mi sta facendo diventare matto....
Ho dei thumbnail sulla pagina, ci clicchi sopra e il javascript va a sostituire la descrizione dell'immagine e il src dell'immagine. Ora ho fissato che la larghezza/altezza massima dell'immagine dev'essere 480px. Quindi con una funzione vado a calcolare quando sarà in proporzione width e height. Lo passo alla funzione che va a sostituire tutto e lo setto come attributo. Ora, se nella funzione sotto io scrivo a manoIl codice funziona. Se invece i valori li psso con la funzionecodice://numeri inventati oWidth='480'; oHeight='760';no. Ho fatto l'alert dei valori passati e li passa bene ma nn ne vuole sapere di prenderli per settare l'attributo.codice://recuperiamo larghezza e altezza ricalcolati widthAndHeigth=getSizes(idd).split("/"); oWidth=widthAndHeigth[0]; oHeight=widthAndHeigth[1];;
Le 2 righe incriminate sonocodice:imgDiv.setAttribute('width',oWidth); imgDiv.setAttribute('height',oHeigth);
Grazie in anticipo, di seguito il codice intero.
codice:var imgMax=480; //funzione che va a rimpiazzare l'immagine grossa con quella cliccata function imgGetLarge(idd) { //recuperiamo la descrizione e il link dell'immagine oDescription=document.getElementById("description" + idd).value; oLink=document.getElementById("link" + idd).value; //recuperiamo larghezza e altezza ricalcolati widthAndHeigth=getSizes(idd).split("/"); oWidth=widthAndHeigth[0]; oHeight=widthAndHeigth[1]; //i div da sostituire alert(oWidth); descDiv=document.getElementById("IMG_description"); imgDiv=document.getElementById("IMG_largeSub"); //sostituiamo il div e il src dell'img imgDiv.src=oLink; descDiv.innerHTML=oDescription; //settiamo i nuovi attributi imgDiv.setAttribute('width',oWidth); imgDiv.setAttribute('height',oHeigth); } //funzione per calcoalre quanto devesser alta e larga l'immagine da andare a mettere in grande function getSizes(idd) { //recuperiamo i valori attuali currentWidth=document.getElementById("img" + idd).getAttribute("width"); currentHeight=document.getElementById("img" + idd).getAttribute("height"); if(currentWidth>currentHeight){//più largo che alto divisor=currentWidth/imgMax; bigWidth=Math.floor(currentWidth/divisor); bigHeight=Math.floor(currentHeight/divisor); }else{//più alto che largo oppure uguale divisor=currentHeight/imgMax; bigWidth=Math.floor(currentWidth/divisor); bigHeight=Math.floor(currentHeight/divisor); } return bigWidth + '/' + bigHeight; }

Rispondi quotando
