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

    aggiungere e rimuovere immagini con un solo script

    sto lavorando ad uno script che, dato un vettore di immagini, carichi l'immagine corrispondente all'indice del vettore in un div.
    L'array è questo:

    ArrayImmagini = new Array ("immagine1.jpg","immagine2.jpg","immagine3.jpg"," immagine4.jpg","immagine5.jpg");
    all'inizio lo script si limitava a visualizzare un'immagine sola nel div, in seguito l'ho modificato affinchè potesse mandare in output un'immagine diversa ad ogni click di un'altra immagine (che opera come bottone) e ho aggiunto un removeChild per evitare sovrapposizioni una volta che si clicca su un altro bottone. Purtroppo adesso lo script, prima funzionante, non esegue più. Di seguito il codice:

    function insertImg(quale)
    {
    if(document.getElementById)
    {
    obj = document.getElementById("highlights");
    for (i=0;i < ArrayImmagini.length; i++)
    {
    if (i==quale){
    immagine = document.createElement("IMG").setAttribute("src",A rrayImmagini[i]);
    obj.appendChild(immagine);
    }
    else
    {
    obj.removeChild(immagine);
    immagine = null;
    }
    }
    }

    Avevo provato anche togliendo la prima condizione (if document.getElementById) ma non è servito.L ' HTML è questo invece:

    <a href="javascript:insertImg(0);">
    <div id="cont1" class="contenitore" /> [img]paesaggi/cielorosso.jpg[/img]</div></a>
    <div id="highlights"></div>
    In sintesi, nella funzione insertImg il valore (0) è l'indice del vettore, a cui deve corrispondere l'immagine alla posizione 0 (Immagine1.jpg), cosicchè, cliccando sopra cielorosso.jpg, compaia nel div highlights una nuova immagine. Ma invece non capita nulla, eppure il codice "sembra" corretto. Qualcuno può gentilmente dirmi dove si trova l'errore?

    Grazie a chi risponderà e buon fine settimana !

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Sicuro dei percorsi? Prova a mettere qualche alert nella funzione per vedere cosa stampa.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Io userei qualcosa di più semplice:

    codice:
    var quale=0;
    function insertImg() 
    { 
    document.Sky.src=ArrayImmagini[quale];
    quale++;
    if(quale>=ArrayImmagini.length)quale=0;
    }
    e

    codice:
    <a href="#" ONCLICK="insertImg();"> 
    [img]paesaggi/cielorosso.jpg[/img]</a>
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  4. #4
    ho attivato il debug di internet explorer e mi compare l'errore "incompatibilità tra tipi" sulla riga con obj.appendChild(immagine); il codice non esegue neanche su firefox.

    @ softhare
    ho provato anche con il tuo codice (sia così come me l'hai dato, sia modificandolo per fare in modo che le immagini fossero visualizzate dentro il div "highlights") ma non mi funziona proprio.

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    sbagli nel fare il chaining di create e setAttribute
    immagine = document.createElement("IMG").setAttribute("src",A rrayImmagini[i]);

    "immagine" cosi' non contiene piu' un riferimento all' <img>

    immagine = document.createElement("IMG");
    immagine.setAttribute("src",ArrayImmagini[i]);

  6. #6
    Grazie Xinod, ma neanche così funziona.

  7. #7
    Adesso l'errore è "Argomento non valido" alla riga "obj.replaceChild(immagine)". Commentando dall'else in poi, infatti, restituisce una nuova immagine senza rimuovere quelle precedentemente inserite.

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.