• User Attivo

    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.


  • Super User

    Prova a mettere un id o una classe particolare per le immagini che non vuoi far ridimensionare, e controlla prima di fare il resize


  • User Attivo

    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.


  • User Attivo

    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


  • User Attivo

    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.