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

    timer chiama funzione!!!

    Salve, ho la seguente necessità ma non riesco a cavarne le gambe:

    in un visualizzatore di immagini ci sono 2 pulsanti: NEXT e PREVIOUS
    il visualizzatore contiene 5 immagini
    mi serve un timer che fino alla quinta immagine per ogni secondo vada avanti di una alla quinta ritorni indietro di una e cosi via......

    la funzione che pensa ad andare avanti si chiama: " next() "
    la funzione che pensa ad andare indietro si chiama: " previous() "

    come posso applicare un timer con quella modalità descritta ???

  2. #2
    codice:
    var counter = 0,
         i = setInterval(function() {
           counter += 1;
         }, 1000);
    Scusa è solo un abbozzo, devo spegnere ora; continuo dopo.

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Pagina senza titolo</title>
    
        <script language="javascript" type="text/javascript">
    // <!CDATA[
    var immagini = ["/ProveNicon/DSCN0036.JPG","/ProveNicon/DSCN0027.JPG","/ProveNicon/DSCN0028.JPG","/ProveNicon/DSCN0046.JPG","/ProveNicon/DSCN0047.JPG"];
    var next = true;
    var n_corrente = 0;
    function visualizza()
    {
        if(next)
        {
            if(n_corrente < (immagini.length - 1)  )
                n_corrente++;
            else
            {
                n_corrente--;
                next = false;
            }
                
        }
        else
        {
            if(n_corrente > 0)
                n_corrente--;
            else
            {
                n_corrente++;
                next = true;
            }
                
        }
        document.getElementById("img1").src = immagini[n_corrente];
        document.getElementById("div1").innerHTML = n_corrente;
        window.setTimeout(visualizza, 1000);
    }
    
    window.onload = function()
    {
        window.setTimeout(visualizza, 1000);
    }
    
    // ]]>
        </script>
    
    </head>
    <body>
        [img]/ProveNicon/DSCN0036.JPG[/img]
        <div id="div1"></div>
    </body>
    </html>
    Pietro

  4. #4
    io dovrei chiamare la funzione next() nel caso sia inferiore a 5 altrimenti previous(),

    non mi riesce a farla funzionare, mi fa la prima chiamata e poi non fa piu' nulla.

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: forse non ho capito bene. La procedura che ho fatto mostra le immagini in successione, da 0 a 4 e viceversa, in continuo. Se vuoi la successione delle immagini munuali, cioè da due pulsanti avanti-indietro, la cosa è diversa (e più semplice). Perciò, come la vuoi?
    Pietro

  6. #6
    io ho gia pronte le funzioni next() e previous(), non posso modificarle sono classi gigantesche che utilizzo anche per altre cose,



    vorrei sapere solo come fare delle chiamate a queste funzioni,
    chiamate intewrvallate di 2/3 secondi sensa refresh di pagina,
    tipo: 1-2-3-4-5-4-3-2-1.... etc....

  7. #7
    Che sfiga avevo scritto tutto e mi si è bloccato il browser
    codice:
    var counter = 0,
         i = setInterval(function() {
           if(i.next) {
             next();
             if(counter == 5) i.next = false;
             else counter += 1;
          } else {
             previous();
             if(counter == -5) i.next = true;
             else counter -= 1;
          }
         }, 1000);
        i.next = true;
    Non l'ho provata, lascio questo compito a te; nel codice si presume che il conteggio inizi da 0, altrimenti devi cambiare counter e settarlo a 1 e sostituire 5 e -5 con 6 e -6.

  8. #8
    ti ringrazio infinitamente, a presto 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 © 2026 vBulletin Solutions, Inc. All rights reserved.