Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Javascript - Problema nel cambiare immagine da script
Forum - Javascript - Problema nel cambiare immagine da script

Avatar
carlduke (Member)
Pro


Messaggi: 153
Iscritto: 29/01/2011

Segnala al moderatore
Postato alle 23:29
Sabato, 01/09/2012
Ho il seguente script che ogni 5 secondi dovrebbe cambiarmi una data immagine

Codice sorgente - presumibilmente Php

  1. <script type="text/javascript">
  2.  
  3. var current_image = 0;
  4. var fliptime = 5000;
  5. var images = new Array();
  6. images[0] = 'news1.jpg';
  7. images[1] = 'news2.jpg';
  8. var element = " ";
  9.  
  10. function change_news()
  11. {
  12.    element = document.getElementsByName('topnew');
  13.    
  14.    if(current_image < images.length - 1)
  15.    {
  16.      current_image += 1;
  17.    }
  18.    else
  19.    {
  20.      current_image = 0;
  21.    }
  22.    
  23.    document.getElementsByName('topnew').src = images[current_image];
  24.    window.setTimeout("change_news()",fliptime);
  25. }
  26.  
  27. </script>



e nel sorgente html

Codice sorgente - presumibilmente Javascript

  1. <body onload="change_news()">
  2.    
  3.    . . .
  4.  
  5.   <div id="news">
  6.            <img class="news" src="news1.jpg" name="topnew" />
  7.      
  8.       . . .
  9.  
  10.   </div>
  11.  
  12.  . . .
  13.  
  14. </body>



lo script viene eseguito, infatti se inserisco un alert, vengo notificato ogni 5 secondi, ma l'immagine non cambia (il percorso e' giusto e in ogni caso se fosse sbagliato verrebbe la classica icone di errore nel caricamento dell'immagine) ... thanks ;)

Ultima modifica effettuata da carlduke il 01/09/2012 alle 23:30


Il mio canale: http://www.youtube.com/user/MrDukeCarl

tecnologia e programmazione!
PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 3:23
Domenica, 02/09/2012
Per iniziare ti consiglio di usare
Codice sorgente - presumibilmente Javascript

  1. var interval = setInterval(function() {change_news();}, fliptime);


più adatto per la tua funzione.
In ogni caso il vero problema è che tu cerchi di impostare l'src ad un array, in quanto getElementsByName da come risultato un array contenente tutti gli elementi che presentano un determinato name quindi per un corretto risultato dello script devi usare
Codice sorgente - presumibilmente Plain Text

  1. document.getElementsByName('topnew')[0].src = images[current_image];


o ancora meglio sfuttare la funzione getElementById che permette la selezione di un solo elemento.
Stai sempre attento al plurale nei nomi delle funzioni, molte volte ti aiuta ad evitare dei futili errori ;-)

Ultima modifica effettuata da Roby94 il 02/09/2012 alle 3:24
PM Quote
Avatar
carlduke (Member)
Pro


Messaggi: 153
Iscritto: 29/01/2011

Segnala al moderatore
Postato alle 13:05
Domenica, 02/09/2012
Grazie mille, cosi funziona! ;) come avrai capito sono ancora un newbie nel web ;)

Ultima modifica effettuata da carlduke il 02/09/2012 alle 13:07


Il mio canale: http://www.youtube.com/user/MrDukeCarl

tecnologia e programmazione!
PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 14:54
Domenica, 02/09/2012
Piano piano si impara ;-)

PM Quote