- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- script resize immagini su tutta la pagina
-
script resize immagini su tutta la pagina
Buongiorno ai lettori del forum, ho trovato uno script che torna utilissimo al mi oscopo su di un sito --> se trova immagini con larghezza > di tot la ridimensiona in larghezza ed in proporrzione anche in altezza.
Il problema è che lo script agisce su tutto il documento e mi resiza anche le immagini che compongono l'header.
Posto lo script:
var max_width = 450; if (document.images) { for (i = 0; i < document.images.length; i++) { while ( !document.images*.complete ){ break; } if ( document.images*.width > 450 ){ var imagetoprocess = document.images*; var old_width = imagetoprocess.width; var old_height = imagetoprocess.height; imagetoprocess.width = max_width; imagetoprocess.height = Math.round(old_height * max_width / old_width); } } }
Domanda: c'è modo di modificare questo script affinchè agisca solamente su alcune immagini della pagina e non su tutte?
Grazie infinite.
-
Prova a mettere un id o una classe particolare per le immagini che non vuoi far ridimensionare, e controlla prima di fare il resize
-
dici poco, se con asp me la cavicchio con javascript sono proprio a zero.
se mi posti degli esempi o mi linki qualche tutorial posso provarci da me.
-
lascia tutto lo script uguale, ma segnala l'immagine che vuoi ridimensionare con
<img id="resize" src="indirizzo"/>
a questo punto cambia nel javascript:
var imagetoprocess = document.images*;
con:
var imagetoprocess = document.getelementbyid("resize");dovresti essere a posto!
spero di esserti stato utile
-
grazie 1000 a tutti.
alla fine ho risolto in questo modo:
var max_width = 100; var elmImg; if (document.images) { for (i = 0; i < document.images.length; i++) { while ( !document.images*.complete ){ break; } elmImg=document.images*; if (elmImg.width > 100 ){ if ((elmImg.id).indexOf("resizable")==0){ var imagetoprocess = document.images*; var old_width = imagetoprocess.width; var old_height = imagetoprocess.height; imagetoprocess.width = max_width; imagetoprocess.height = Math.round(old_height * max_width / old_width); } } } }
ad ogni immagine che voglio resizare dò un id="resizable_N", dove N è un identificativo unico per ogni img che voglio resizare.
L'indexOf riconosce appunto l'inizio dell'id delle immagini.