Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,202

    Valore variabile js in campo src

    Ciao, scusate se la domanda è banale ma non ho trovato molte informazioni sulle guide su come richiamare i valori di una variabile js.

    In pratica ho una variabile globale che definisce un percorso; vorrei che tutte le immagini della pagina venissero caricate da quel percorso, in modo che se lo modifico devo modificare solo il valore della variabile e non il src di tutte le immagini della pagina.

    Per ora l'unica cosa che più o meno funziona è questa


    Codice PHP:
    [img]immagine_fittizia.jpg[/img
    Ma non mi sembra il massimo, anche perchè se lascio vuoto il campo src non funziona, devo per forza definire un'immagine fittizia; non c'è un modo più pulito e veloce per risolvere, per richiamare la variabile myPath già all'interno del campo src?

    Grazie!
    Debian GNU/Linux sid
    Publishing a theory should not be the end of one's conversation with the universe, but the beginning. (Eric S. Raymond)
    Kernel 2.6.14-ck1

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Queste cose non si realizzano in javascript ma con un linguaggio lato server...

    Se indichi quale vuoi/puoi utilizzare ti sposto
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,202
    Tecnicamente non posso usare linguaggi lato server

    Che controindicazioni ci sono a farlo in javascript?

    Così sembra funzionare ed è comunque riusabile e sfruttabile ovunque sia supportato javascript:

    Codice PHP:
    <script language="JavaScript">
        var 
    imgPath "http://path/desiderato";
    </script>

    [...]

    [img]fake_img.gif[/img] 
    fake_img.gif deve esistere veramente (ho messo un'immagine trasparente) se no non va
    Debian GNU/Linux sid
    Publishing a theory should not be the end of one's conversation with the universe, but the beginning. (Eric S. Raymond)
    Kernel 2.6.14-ck1

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,202
    Ho dovuto modificare un po' il codice per farlo funzionare con IE6, più ho aggiunto qualche naturale evoluzione, peccato solo che non funzioni mettendo nell'onload una funzione (setValueFor)


    Codice PHP:
        <script language="JavaScript">
        var 
    imgShowed = new Array();
        
    // formato nome immagine = ABCDE --> A ="path", B="nome", C="01, 02, 03, etc", D="_0, _1, _2, etc", E=ext --> /path_to/img01_0.jpg
        
    var imgPath "file:///home/sly/syberiaitalia/Testi/from2Dto3D";
        var 
    imgName "f2Dto3D_img";
        var 
    imgExt ".jpg";    
        var 
    totNumOfImgs "21";            
        
    // crea array (C)
        
    var imgN = new Array();
        for (
    1i<=totNumOfImgs; ++i) {
            (
    i<10) ? imgN[i] = "0"+imgN[i] = i;
            }
    /*
        function setValuesFor(n){
            this.onload=null;
            this.src=imgPath+'/'+imgName+imgN[n]+'_0'+imgExt;
            this.name=this.src.slice(imgPath.length+1, this.src.length-2-imgExt.length);
            this.id=this.name;
            }
    */
        
    function swapImg(imgIDnumberOfVariantsimgSrc){
            var 
    imgNumber imgID.slice(imgID.length-2);
            if (!
    imgShowed[imgNumber]) imgShowed[imgNumber] = 0;
            var 
    imgToShow = new Array();

            
    // inizializza array (D)
            
    for (0i<numberOfVariants; ++i) {
                
    imgToShow[i] = imgID+"_"+i;
                }

            
    // se è l'ultima immagine della serie, azzera il contatore
            
    if (imgShowed[imgNumber] == numberOfVariants-1) {    
                
    document.getElementById(imgID).src=imgPath+"/"+imgToShow[0]+imgExt
                
    imgShowed[imgNumber]=0
                
    }
            
    // altrimenti incrementalo di uno
            
    else { document.getElementById(imgID).src=imgPath+"/"+imgToShow[++imgShowed[imgNumber]]+imgExt; }
            }
        
    </script>

    [...]


    <p align="center">
    [img]fake_img.gif[/img]
    </p>

    <!--
    <p align="center">
    [img]fake_img.gif[/img]
    </p>
    -->


    <p align="center">
    [img]fake_img.gif[/img]
    </p> 

    Nello specifico il codice prevede un set di tot immagini numerate (nome01, nome02, ... nome10, nome11, ...) ognuna con tot varianti (_0, _1, _2, ...), e al click scorre le varianti di ogni immagine. Le immagini sono tutte nel path definito all'inizio, in più serve un'immagine fake_img.gif se no non funziona :berto:
    Debian GNU/Linux sid
    Publishing a theory should not be the end of one's conversation with the universe, but the beginning. (Eric S. Raymond)
    Kernel 2.6.14-ck1

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 © 2026 vBulletin Solutions, Inc. All rights reserved.