Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Generazione dinamica

  1. #1

    Generazione dinamica

    scusate il titolo del post, forse un pò ambiguo, ma non sapevo come descriverlo

    mi è capitato oggi di dover creare un buon numero di immagini dipo
    imga = new Image

    io dovevo crearne diverse e ho pensato di farlo in un ciclo for
    for(a=1;a<10;a++){
    eval('img' + a + '= new Image')
    }

    è corretto fare in questo modo oppure si può fare in una maniera più corretta (mi è venuto il dubbio leggendo qui http://forum.html.it/forum/showthrea...highlight=eval)
    Frate Priore: "È Lucifero in persona!"
    Trinità: "Lo conosci?"
    Bambino: "Mai sentito nominare, deve essere un professionista dell'est"

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    un altro coprovinciale, bene!


    l'eval nn piace a nessuno, o quasi

    usa un array


    <script>
    img=array();
    for(i=0;i<10;i++){
    img[i]=new Image();
    }
    </script>


    che dici?

  3. #3
    codice:
    che dici?
    dico che avevo provato ma non funzionava...
    forse però mi mancava questo img=array();

    magari è meglio se ce lo metto

    come mai non piace ? (addirittura nel link deprecato... sembra un tag html..)
    l'ho provato con IE6, Mozilla 1.3 e navigator 4.01 e fila tutto liscio !

    ti faccio un'altra piccola domanda

    in una funzione tipo

    function pippo(cosa){
    document.form1.cosa.value="ciao";
    }

    passo un valore "cosa" che poi mi serve per individuare un campo

    la funzione è lanciata ad esempio da <input type="button" onmouseOver="campo1">

    dici che funzia ? credo di no..
    Frate Priore: "È Lucifero in persona!"
    Trinità: "Lo conosci?"
    Bambino: "Mai sentito nominare, deve essere un professionista dell'est"

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    Originariamente inviato da Trinità
    codice:
    che dici?
    dico che avevo provato ma non funzionava...
    forse però mi mancava questo img=array();

    magari è meglio se ce lo metto

    come mai non piace ? (addirittura nel link deprecato... sembra un tag html..)
    l'ho provato con IE6, Mozilla 1.3 e navigator 4.01 e fila tutto liscio !

    ti faccio un'altra piccola domanda

    in una funzione tipo

    function pippo(cosa){
    document.form1.cosa.value="ciao";
    }

    passo un valore "cosa" che poi mi serve per individuare un campo

    la funzione è lanciata ad esempio da <input type="button" onmouseOver="campo1">

    dici che funzia ? credo di no..
    ho detto una fagianata prima, la corretta è

    <script>
    img=new Array();
    for(i=0;i<10;i++){
    img[i]=new Image();
    }
    </script>


    per quello che vuoi fare tu, devi fare così


    onMouseOver="pippo(this)"

    e la funzione diventa


    function pippo(cosa){
    cosa.value="ciao";
    }

  5. #5
    ho provato così ma non funziona

    codice:
      
    la= new Array();
    lb= new Array();
    for (a=1;a<10;a++){
    la[a]= new Image();
    lb[a]= new Image();
    
    		/*
    		la[a].src = "img/x_cartina/0" + a + "_on.gif";
    		lb[a].src = "img/x_cartina/0" + a + "_off.gif";
    		*/
    		
       eval('la' + a + '.src = "img/x_cartina/0' + a + '_on.gif"');
       eval('lb' + a + '.src = "img/x_cartina/0' + a + '_off.gif"');
    }
    non funziona ne con il primo (ora commentato) ne con l'eval.... di dice lb1 non definito
    Frate Priore: "È Lucifero in persona!"
    Trinità: "Lo conosci?"
    Bambino: "Mai sentito nominare, deve essere un professionista dell'est"

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    a me funziona uno script del genere

    <script>
    la= new Array();
    lb= new Array();
    for (i=0;i<10;i++){
    la[i]= new Image();
    la[i].src="immagine"+i+"_on.gif";
    lb[i]= new Image();
    lb[i].src="immagine"+i+"_off.gif";
    }
    alert(la[3].src);
    </script>

  7. #7
    ahhh zio karo ho trovato !

    ho fatto copia incolla ma non funziava ancora !
    il fatto è che poi richiamavo così

    onMouseOver="document.label1.src=la1.src" onMouseOut="document.label1.src=lb1.src"

    mentre bisogna fare così a richiamarlo se uso il tuo metodo
    onMouseOver="document.label1.src=la[1].src" onMouseOut="document.label1.src=lb[1].src"
    Frate Priore: "È Lucifero in persona!"
    Trinità: "Lo conosci?"
    Bambino: "Mai sentito nominare, deve essere un professionista dell'est"

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    oppure la.1.src

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