Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2016
    Messaggi
    17

    problema con la creazione di gif con setInterval()

    salve, ero intento a creare un rappresentazione a video sequenziali di 4 immagini quando durante l'esecuzione mi visualizza uno stack overflow qualcuno può darmi una mano?
    qui di seguito il codice
    codice:
    <html>
    <head>
    
    
        
    <script language="Javascript">
    
    
    var imm=0;
    var limite = 5;
    
    
    function cambia() {
    
    
    if(imm==limite)
         {
             imm=0;
         }
    document.getElementById("img1").src=""+imm+".jpg";
        imm++
      window.setInterval(cambia(),6000);  
    }
    
    
    </script>
    </head>
    
    
    <body onload="cambia()">
             <img src="1.jpg" id="img1">
    
    
    </body>
    
    
    </html>
    Ultima modifica di ciro78; 29-04-2016 a 22:18 Motivo: tag code

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    codice:
    window.setTimeout(cambia ,6000);
    


    E senza parentesi.
    Inoltre non ti serve necessariamente una variabile da azzerare ad ogni ciclo: puoi usare il resto di una divisione per 4. Sarebbe meglio infine creare una referenza cacheata dell'elemento del DOM invece di accedervi ad ogni chiamata della funzione


    codice:
    var no_images = 4; // numero delle immagini [0.jpg ... 3.jpg]
    var counter = 0;
    var img = document.getElementById("img1");
    
    function cambia() {
        img.src = (++counter % no_images) + ".jpg";
        window.setTimeout(cambia, 6000); 
    }
    Ultima modifica di fcaldera; 29-04-2016 a 16:34
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2016
    Messaggi
    17
    in che senso creare una referenza cacheata dell'elemento del dom?

  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Ciao Matteo,
    benvenuto sul forum. Ti invito a leggere il regolamento in particolare la sezione che riguarda tag code e titoli generici
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


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.