Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    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:

    codice:
    var max_width = 450;
      if (document.images) {
        for (i = 0; i < document.images.length; i++) {
           
           while ( !document.images[i].complete ){
                 break;
           }
           if ( document.images[i].width > 450 ){
              var imagetoprocess = document.images[i];
              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.

  2. #2
    Metti un id particolare alle immagini di cui vuoi fare il resize. per esempio: id="resizable_N" dove N è il numero dell'immagine. Nel for ti basterà prendere l'id dell'immagine (oggettoImmagine.id) e controllare che inizi per resizable (indexOf). Se il controllo è vero, fai il resize altrimenti no!
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  3. #3
    ciao, grazie per la risposta.

    sono a digiuno di javascript...

    riusciresti a farmi un esempio pratico?

    Grazie 1000

  4. #4
    codice:
    var max_width = 450;
    var elmImg;
      if (document.images) {
        for (i = 0; i < document.images.length; i++) {
           
           while ( !document.images[i].complete ){
                 break;
           }
    	elmImg=document.images[i];
    
           if (elmImg.width > 450 ){
    		if ((elmImg.id).indexOf("resizable")==0){
    	          	var imagetoprocess = document.images[i];
              		var old_width = imagetoprocess.width;
            	  	var old_height = imagetoprocess.height;
    	          	imagetoprocess.width = max_width;
              		imagetoprocess.height = Math.round(old_height * max_width / old_width); 
           		}   
    	}
        }
      }
    Ovviamente nei tag img delle immagini da ridimensionare ci deve essere una cosa simile:
    [img]ECCECC[/img]

    N deve essere un numero che renda diverso ogni ID. Nella pagina non possono esistere due id uguali o avrai problemi con js.
    Il controllo ==0 nell'indexOf ti consente di impostare l'id SOLO nella forma "resizable_"<NUMERO>" quindi deve INIZIARE con la parola RESIZABLE. Ciò fa ti consentirà di poter usare per esempio un id del tipo img_resizable in futuro senza che questo venga intaccato dallo script (nel caso ti servisse, è un pò ridondante ma non costa nulla in fondo )
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  5. #5
    grazie 1000.

    ora funziona alla perfezione.

    molto gentile!!!

    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.