Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    Inserire dinamicamente immagini

    ciao a tutti
    devo inserire dinamicamente delle immagini, visto che sia il numero che l'id da assegnare lo recupero da un file xml usando ajax.

    come posso fare??
    ho provato il seguente metodo (esempio)


    codice:
    var idim;
    for(var kk=0;kk<100;kk++)
    	document.write("[img]img.gif[/img]
     ");
    le immagini vengono inserite, ma la pagina resta bianca, invece che del colore impostato dal css.
    in pratica non viene caricata nessun proprietà del css

    altre soluzioni, possibilmente utilizzando il DOM?
    grazie

  2. #2
    tengo a precisare che, nel mio caso, il document.write lo posso mettere solo in una funzione all'esterno del body

  3. #3
    nothing??

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    Se utilizzi write a documento creato mostrerà solo l'immagine, perché di fatto ricrei il documento con solo l'immagine per ovviare usa innerHTML tipo:
    codice:
    document.getElementById("nome_id").innerHTML="[img]img.gif[/img]
     ";
    chiaramente dovrai inserire un div nel body.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Meglio ancora sfruttare il DOM:
    creare l'elemento Image
    codice:
    var Immagine=new Image();
    Attribuirgli le specifiche proprietà
    codice:
    immagine.width="55px";
    immagine.height="55px";
    immagine.src="percorso/immagine.gif";
    immagine.id=id;
    ...
    ...
    Appendere l'immagine all'elemento:
    codice:
    document.getElementById("nome_id").appendChild(immagine);
    E' standard compliant e viene ben interpretato da quasi tutti i browser.

  6. #6
    il problema è che quando creo il body, non so a priori quanti elementi mettere nella pagina; in numero delle immagini da inserire e dei relativi div, vengono calcolati da una funzione, dopo aver estratto dei dati da un file xml.
    quindi potrò avere 3 immagini, come potrei averne 100....

    in pratica nel body non c'è niente, dovrei creare i div(ai quali assegno delle corrdinate per la posizione) e le immagini direttamente dalla funzione javascript

  7. #7
    E qual'è il problema?

  8. #8
    Originariamente inviato da joker982
    il problema è che quando creo il body, non so a priori quanti elementi mettere nella pagina; in numero delle immagini da inserire e dei relativi div, vengono calcolati da una funzione, dopo aver estratto dei dati da un file xml.
    quindi potrò avere 3 immagini, come potrei averne 100....

    in pratica nel body non c'è niente, dovrei creare i div(ai quali assegno delle corrdinate per la posizione) e le immagini direttamente dalla funzione javascript
    codice:
    document.getElementById("nome_id").appendChild(immagine);
    non posso farlo, se nel body non sono presenti elementi. giusto?

  9. #9
    Ovvio che no.
    Ma ti crei una funzione (appendImages() ad esempio) che richiami all'evento window.onload.
    Semplice, no?

  10. #10
    non ho capito....forse mi son spiegato male
    io ho la mia funzione, chiamata nel onload del body, nella quale voglio creare immagini e div e inserirli nella pagina. però nel body non c'è niente, vorrei inserire gli oggetti senza appenderli a nessun elemento.
    è impossibile?


    codice:
    <html>
        <head>
            <script>
              function display{
              //apro con ajax il file xml
              //leggo un numero i e dei nomi e li metto in un array
             //da 0 a i creo un div contenente immagine avente id presente nell'array
            }
             </script>
        </head>
        <body onload='display()'>
         //non posso mettere niente perchè a priori non so quanti sono i div e le immagini e come chiamarle
        </body>
    </html>

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.