Keskustelut - Web-ohjelmointi - Javascript image refresh


ministeri 12:02 30.5.08 
Päivää...

Painin seuraavanlaisen ongelman kanssa:
Laitan PHP:lla kuvia sivulle for-lopissa:
koodia lyhennetty
for ($i = 0; $i < mysql_num_rows($search); $i++) {
echo "<img src='$tietue'><br><br>";
}

Siinä samalla otan javascipt taulukkoon talteen kuvien nimet, jotka sivulle laitetaan.

Nyt yritän tällä koodilla saada javasriptin päivittämään kuvia 3 sekunnin välein:
<script language="javascript" type="text/javascript">
  var t = 3;
  var kuva ="image";
for(i = 0; i < kuvataulukko.length; i++){
  "image"+i+"="+kuvataulukko[i];
}

function Start() {
      tmp = new Date();
      tmp = "?"+tmp.getTime()

for(i = 0; i < kuvataulukko.length; i++){
      document.images["refresh"].src = "image"+i+"="+kuvataulukko[i]+tmp
}
      setTimeout("Start()", t*1000)
      }
      Start();
</script>


Nyt kuitenkin homma menee reisille ja saan sivukaupalla virheilmoituksia.

Kokeilen apinoida tätä koodia, missä päivitetään js:llä yhtä kuvaa, mutta omani eroaa sillätavalla, että kuvia voi olla vaikka 20 ja nämä kuvannimet ovat js-taulukossa.


<IMG src="image_name.jpg" width="275" height="200" border="1" name="refresh">
      <SCRIPT language="JavaScript" type="text/javascript">
      <!--
      var t = 120 // interval in seconds
      image = "image_name.jpg" //name of the image
      function Start() {
      tmp = new Date();
      tmp = "?"+tmp.getTime()
      document.images["refresh"].src = image+tmp
      setTimeout("Start()", t*1000)
      }
      Start();
      // -->
      </SCRIPT>


Eli osaisiko joku vähän potkia oikeaan suuntaan, että miten saan kuvat päivittymään.
editoitu: 12:43 30.5.08
ddf 12:42 30.5.08 
Asiaa auttaisi jos kertoisit vielä mitä virheilmoituksia saat?
ministeri 12:56 30.5.08 
Anteeksi. Tärkein unohtui,
Korjasin muutaman virheen ja nyt ei tule, kuin 1 virheilmoitus:

Error: document.images.refresh has no properties
Source File: testi.php
Line: 23
weicco 13:30 30.5.08 
Olisikohan tuo refresh nimi vähän huono. Koita jos vaihdat sen toiseen. Jospa JavaScript tukehtuisi siihen jostain syystä.
Rytmis 13:38 30.5.08 
Johtuisko ennemmin siitä, että DOM:ssa ei ole kuvaa jonka ID on refresh?
weicco 13:31 1.6.08 
Eikö tuo document.image["..."] hae nimenomaan name-attribuutin perusteella? Tuohon on joku "wanha" tapa tehdä tuo juttu kun nykyään vissiin suositaan document.getElementsByName("...")[0]
Rytmis 16:37 1.6.08 
No eipä tuon koodin perusteella siellä ole myöskään kuvaa jonka name on refresh. Ja miten tuon olisi tarkoitus käsitellä useampaa kuin yhtä kuvaa, kun tuo "refresh" on kovakoodattu?