Oppure

Loading
01/09/12 21:29
carlduke
Ho il seguente script che ogni 5 secondi dovrebbe cambiarmi una data immagine

<script type="text/javascript">

var current_image = 0;
var fliptime = 5000;
var images = new Array();
images[0] = 'news1.jpg';
images[1] = 'news2.jpg';
var element = " ";

function change_news()
{
   element = document.getElementsByName('topnew');
   
   if(current_image < images.length - 1)
   {
     current_image += 1;
   }
   else
   {
     current_image = 0;
   }
   
   document.getElementsByName('topnew').src = images[current_image];
   window.setTimeout("change_news()",fliptime);
}

</script>



e nel sorgente html

<body onload="change_news()">
   
   . . .

  <div id="news">
           <img class="news" src="news1.jpg" name="topnew" />
     
      . . .

  </div>

 . . .

</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 01/09/12 21:30
aaa
02/09/12 1:23
Roby94
Per iniziare ti consiglio di usare
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
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 02/09/12 1:24
aaa
02/09/12 11:05
carlduke
Grazie mille, cosi funziona! ;) come avrai capito sono ancora un newbie nel web ;)
Ultima modifica effettuata da carlduke 02/09/12 11:07
aaa
02/09/12 12:54
Roby94
Piano piano si impara ;-)
aaa