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

    Sostituire immagini ogni secondo

    Ciao a tutti,

    vorrei ricreare l'effetto di questo sito --> www.sat24.com/it
    Come vedete, ci sono 6-7 immagini che vanno avanti ogni secondo e poi si fermano per qualche secondo alla più recente. Come posso fare?

  2. #2
    Ragazzi, ci ho lavorato un pò e mi è uscito questo:

    codice:
    // tempo di attesa tra un’immagine e un’altra espressa in millesimi di secondo tempo = 1000; // creiamo la variabile elemente che verrà poi utilizzata dentro la funzione start elemento = ""; // Array nel quale inserire gli url delle varie immagini che si desiderano far alternare. Si possono aggiungere quanti url si vogliono immagini = new Array(); immagini[0]='webcam1.jpg'; immagini[1]='webcam2.jpg'; immagini[2]='webcam3.jpg'; immagini[3]='webcam4.jpg'; immagini[4]='webcam5.jpg'; function start(id){ //salva nella variabile elemento il tag img che corrisponde all’id passato //N.B. L’elemento corrispondendente a quell’id deve esistere, in caso contrario lo script non funzionerà elemento = window.document.getElementById(id); //richiama la funzione immagine() immagine(); } function immagine(){ //Estrae un numero casuale tra 0 e la lunghezza dell’array – 1. Ad ogni valore //corrisponde un dato url, tramite il ciclo do-while si controlla che il nuovo url non corrisponda al vecchio, se ciò //si verifica, allora si provvede a far estrarre un altro numero, finchè gli url non sono diversi tra loro. do{ num = Math.round((immagini.length-1)*Math.random()); }while(elemento.src == immagini[num]); //Assegna l’url estratto in modo casuale all’immagine, cosi che l’utente possa visualizzare //una nuova immagine sul proprio monitor elemento.src = immagini[num]; //Richiama dopo il valore della variabile tempo la funzione immagine() window.setTimeout("immagine()", tempo); }
    Il problema ora è che nella dichiarazione della variabile "num" al scelta delle immagini non è sequenziale ma casuale... Come posso fare?

  3. #3
    Non ho visto bene il codice perché è postato tutto su una riga ma da quello che ho capito puoi risolvere creando una variabile globale num. All'interno della funzione immagine, invece di fare num = casuale, fai semplicemente num = num + 1; e se num è già arrivato all'ultimo elemento invece non fai niente così l'immagine rimane fissa.

    Se vuoi invece che una volta arrivati all'ultima le immagini ricomincino da capo puoi fare num = (num+1)%numero_immagini;
    Visita il mio blog e canale YouTube dedicati a programmazione web e sicurezza informatica.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.