Visualizzazione dei risultati da 1 a 4 su 4

Discussione: problema galleria foto

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    8

    problema galleria foto

    Ciao a tutti. Sono nuovo su html.it e saluto tutti i partecipanti.

    Ho un problema con una galleria di immagini. Il problema è questo: riesco a sfogliare le foto clikkando sui due link ma non riesco a mostrare le relative didascalie che resta sempre la stessa. Di javascript ne so poco e non capisco dove sta il problema.

    Un grazie mille a chi mi aiuta e un grazie a chi legge il post.

    ----------------

    inserisco il codice:


    var immagini = new Array ("img01.JPG", "img02.JPG", "img03.JPG");
    var didascalie = new Array ("Foto 1", "Foto 2", "Foto 3");

    var curr = 0;
    var NumFoto = immagini.length;


    function shiftPic (val)
    {

    var NextPic = curr+val;

    if (NextPic < 0)
    NextPic = NumFoto-1;
    else if (NextPic > NumFoto-1)
    NextPic = 0;

    curr = NextPic;

    document.images.slides.src = immagini[curr]

    }



    </script>


    </head>
    [img]Realizzazioni/img01.JPG[/img]
    <body topmargin=0 leftmargin=0 onload="window.resizeTo(740,676)">


    [img]../img/FrecciaSx.bmp[/img]
    [img]../img/FrecciaDx.bmp[/img]
    <script type="text/javascript">
    document.write(didascalie[curr] + " Figura " + curr + " Numero foto " + curr);
    </script>


    </body>

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    farei almeno cosi'



    codice:
    function shiftDes(val){
      document.getElementById('id_descrizione').innerHTML=didascalie[val] + " Figura " + val + " Numero foto " + val;
    }
    
    ...
    function shiftPic (val)
    {
    ...
    document.images.slides.src = immagini[curr];
    shiftDes(curr);
    }
    codice:
    <body ... onload="window.resizeTo(740,676);shiftDes(0)">
    ...
    <div id="id_descrizione"> </div>
    togliendo questo
    codice:
    <script type="text/javascript">
    document.write(didascalie[curr] + " Figura " + curr + " Numero foto " + curr);
    </script>
    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    8

    Fantastico. Funziona

    Grazie mille.

    Il problema è risolto. Però vorrei capire dove sbagliavo.

    Non capisco perchè non veniva aggiornato l'indice dell'array delle didascalie.
    Scusa ma col il Jscript sono veramente agli inizi.

    OninO

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    beh, con document.write scrivi in un determinato momento quello che vuoi
    non resta mica una fantomatica relazione con gli elementi con cui hai costituito la stringa da scrivere
    se questi cambiano ormai quello che e' scritto e' scritto

    tra l' altro, richiami a document.write a documento completamente renderizzato sovrascrivono tutto il documento stesso, quindi non c'e' proprio verso di usare document.write per aggiornare una parte di documento

    con innerHTML leggi/scrivi il contenuto di un elemento, lo fai quando vuoi e quante volte vuoi, tutto sta a poterti riferire a quell' elemento ed il modo piu' semplice per farlo e' dando ad esso un id e usando document.getElementById()

    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.