Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: galleria di immagini

  1. #1

    galleria di immagini

    Ho creato una galleria di immagini usando due frame, uno contiene la pagina con le thumbnails e l'altro - chiamato main - un'immagine (image[0] nel mio caso) che viene sostituita cliccando su 1 thumbnail.

    ecco la pagina con le thumbnails che si chiamano come le foto grandi precedute da th_:

    <script language="JavaScript" type="text/javascript">
    foto = new Array("foto1.jpg","foto2.jpg","foto3.jpg");
    numfoto = foto.length;

    for (var i=0; i<numfoto; i++)
    {document.write("[img]th_" + foto[i] + "[/img]

    " );}
    </script>

    Però quando clicco su una thumbnail ottengo un errore del tipo 'foto1' non è definito
    Qualcuno mi può aiutare?

    ecco qui la pagina ...se volete vedere qualche foto di Caorle (VE)...
    Carlaccio

  2. #2
    Che sciocco!! Ho provato funzioni di ogni tipo e perso un sacco di tempo a scervellarmi. In realtà quello che mi serviva erano delle semplici virgolette!
    Ecco qui la soluzione...

    foto = new Array("foto01.jpg","foto02.jpg","foto03.jpg");
    numfoto = foto.length;

    for (var i=0; i<numfoto; i++)
    {document.write("<a href=\"#jscpa\" onClick=\"parent.main.document.images[0].src = '" + foto[i] + "'\"><img src=\"th_" + foto[i] + "\" alt=\"" + foto[i] + "\" border=\"0\" align=\"\"></a>

    " );}
    funziona!!

    Mi pare di avere di avere creato una galleria niente male. Se qualcuno vuole dare un'occhiata, ecco il link: galleria

    Se qualcuno fosse interessato a questa galleria potete prendere il codice dal sito oppure richiedetemelo!

    saluti a tutti
    Carlaccio

  3. #3
    le virgolette fanno un po' fatica a vedersi, vediamo se ora sono più leggibili...

    foto = new Array("foto01.jpg","foto02.jpg","foto03.jpg");
    numfoto = foto.length;

    for (var i=0; i<numfoto; i++)
    {document.write("<a href=\"#jscpa\" onClick=\"parent.main.document.images[0].src = ' " + foto[i] + " ' \"><img src=\"th_" + foto[i] + " \" alt=\" " + foto[i] + " \" border=\"0\" align=\"\"></a>

    " );}
    Carlaccio

  4. #4

    photo album

    ciao a tutti!
    Ecco la galleria di foto completa!
    un frame contiene le thumbnails, l'altro contiene l'immagine visualizzata e dei tasti avanti e indietro per navigare tra le immagini(sotto i tasti avanti e indietro ci sono le thumbnails relative all'immagine successiva e precedente)
    inoltre c'è la possibilità di scegliere un'immagine a caso, lo slideshow...


    questa pagina contiene i 2 frame:

    <frameset cols="*,110" border="0">
    <frame name="main" src="main.htm" scrolling="auto" frameborder="0"> <frame name="thumbnails" src="thumbnails.htm" scrolling="auto" frameborder="0">
    </frameset>


    main.htm - questa pagina contiene le thumbnails:

    [B]<html>
    <head>
    <title>th</title>

    <script language="JavaScript1.1" src="foto_arrey.js">
    </script>

    </head>
    <body>

    <script language="JavaScript">
    /* CJSPA - carlaccio js photo album - carlaccio.too.it */
    numfoto = foto.length;
    for (var i=0; i<numfoto; i++)
    {document.write("<a href=\"#jscpa\" onClick=\"parent.main.document.images['intro'].src = '" + foto[i] + "'\"><img src=\"" + thumb[i] + "\" alt=\"" + foto[i] + "\" border=\"0\" width=\"65\" height=\"48\"></a>

    " );}
    </script>

    </body>
    </html>
    [/B]





    thumbnails.htm - questa è la pagina principale dove si vedono le immagini:

    <html>

    <head>
    <title>main</title>

    <script language="JavaScript1.1" src="foto_arrey.js"></script>

    </head>
    <body topmargin="5">



    <center>
    [img]foto01.jpg[/img]</center>
    <center>
    <script language="JavaScript1.1">


    var which=0

    function indietro(){
    if (which>0){
    window.status='<<indietro'
    which--
    document.images.intro.src=foto[which]
    }
    else window.status='Prima immagine'
    }
    function avanti(){
    if (which<foto.length-1){
    window.status='avanti>>'
    which++
    document.images.intro.src=foto[which]
    }
    else window.status='Fine delle immagini'
    }
    function corrente(){
    document.images.intro.src=foto[which]
    window.status='immagine corrente'
    }
    window.setInterval("imcorrente()",1000);
    function imcorrente(){
    if(which>0)
    document.images.imm1.src=thumb[which-1];
    else
    document.images.imm1.src="noimg.gif";
    if(which>=0)
    document.images.imm2.src=thumb[which];
    if(which<foto.length-1)
    document.images.imm3.src=thumb[which+1];
    else
    document.images.imm3.src="noimg.gif";
    }
    function slideshow(){
    slid = setInterval("avanti()",4000);}

    function ferma()
    {clearInterval(slid)}

    function acaso()
    {var randomimg=Math.floor(Math.random()*foto.length);
    document.images[0].src=foto[randomimg];
    which=randomimg; }

    window.setInterval('questaimg()',700);
    function questaimg(){
    document.forms[0].nimg.value = "foto " + (which+1) + " di " + foto.length;
    }

    </script>

    <center><table border="0" cellspacing="0"><tr>
    <td align="center" valign="top">
    <a href="javascript:indietro()">&lt;&lt;indietro
    [img]noimg.gif[/img]</a>
    </td>
    <td align="center" valign="top">
    <a href="javascript:corrente()">corrente
    [img]noimg.gif[/img]</a>
    </td>
    <td align="center" valign="top">
    <a href="javascript:avanti()">avanti&gt;&gt;
    [img]noimg.gif[/img]</a></td></tr></table></center>



    <center><form>
    slideshow: avvia -
    ferma -
    riavvolgi -
    ultima foto -
    foto a caso

    <input size=10 name=nimg value="foto">
    </form></center>


    </center>


    </body>
    </html>




    questo è, invece, il contenuto del file foto_arrey.js che richiamato dalle due pagine thumbnails.htm e main.htm

    foto = new Array("foto01.jpg","foto02.jpg","foto03.jpg");
    thumb = new Array("th_foto01.jpg","th_foto02.jpg","th_foto03.j pg");


    esempio

    ciao ciao
    Carlaccio

  5. #5
    Ma...
    C'è ancora qualcosa che non va! Quando clicco su una thumbnail l'immagine compare sulla pagina principale, ma non trovo il modo di modificare la variabile which. Quindi i tasti avanti e indietro(e relative thumbnails) non si riferiscono più all'immagine visualizzata.
    C'è il modo di modificare la variabile which presente nel file main.htm, cliccando su una thumbnail presente nel file thumbnails.htm? C'è un altra soluzione? Qualcuno può aiutarmi?
    grazie, saluti
    Carlaccio

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    infatti, passa which, forse occorre richiamare anche la funzione che mostra l' immagine ingrandita (corrente()?), prova
    codice:
    for (var i=0; i<numfoto; i++) 
    {document.write("<a href=\"#jscpa\" onClick=\"parent.main.which=" + i + ";parent.main.corrente();\"><img src=\"" + thumb[i] + "\" alt=\"" + foto[i] + "\" border=\"0\" width=\"65\" height=\"48\"></a>
    
    " );}
    ciao

  7. #7
    Grazie mille!!!

    Funziona perfettamente!!

    la funzione corrente() ora posso eliminarla!

    Apre l'immagine visualizzata. Essendo già visualizzata non ha bisogno di essere aperta.
    Prima, invece, al clic su una thumbnail c'era una sfasatura tra immagine visualizzata e valore di which a cui si poteva rimediare cliccando sul link che richiamava la funzione corrente().

    ciao!
    Carlaccio

  8. #8
    ciao!

    Ho creato lo slideshow automatico che fa vedere le immagini in sequenza.
    IL codice è questo (vedi sopra)

    function slideshow(){
    slid = setInterval("avanti()",4000);}


    Purtroppo ha un problema: passa all'immagine successiva dopo 4 secondi anche se l'immagine non è stata totalmente caricata.
    Come posso risolvere?

    ciao ciao
    Carlaccio

  9. #9
    come posso fare?
    Carlaccio

  10. #10

    slideshow che attende il caricamento dell'immagine prima di passare alla successiva

    ciao!

    Ho creato lo slideshow automatico che fa vedere le immagini in sequenza.
    IL codice è questo (vedi sopra)

    function slideshow(){
    slid = setInterval("avanti()",4000);}

    Purtroppo ha un problema: passa all'immagine successiva dopo 4 secondi anche se l'immagine non è stata totalmente caricata.
    Come posso risolvere?

    So che ci sono i preload di immagini, ma io non vorrei precaricare tutte le immagini


    ciao ciao
    Carlaccio

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.