Minulla on webbipalvelimella jpg-kuva, joka päivittyy itsekseen aika-ajoin. Olen käyttänyt javascriptiä päivittämään sivulla vain tuon yksittäisen kuvan. Ongelmani on se, että Internet Explorer heittää vanhan kuvan pois ja alkaa sitten lataamaan uutta, tästä aiheutuu vilkkumista, joka häiritsee.
Olisiko kenelläkään ideaa miten saisi IE:ssäkin ladattua uuden kuvan vanhan päälle?
Nykyinen scripti on ihan perus kuvan uudelleenlataus:
<SCRIPT language="JavaScript" type="text/javascript"> <!-- var t = 15; image = "kuva.php"; function Start() { tmp = new Date(); tmp = "?"+tmp.getTime(); document.images["kuva"].src = image+tmp; setTimeout("Start()", t*1000) } Start(); // --> </SCRIPT>
samaan kohtaan 2 diviä päällekkäin
Voit näyttää kuvan vaihtaa/näyttää uuden kuvan vasta sitten kun se on ladattu ja pitää sitä tähän asti piilossa. Tämä onnnistuu kuvan onload-eventlistenerillä.
Juhko: Meinasitko niin, että z-indexillä nostettaisiin divejä aina vuorotellen toistensa eteen?
jo123: En oikein ymmärrä miten tuota onloadia käytetään funktion sisällä. Kuva kai pitäisi ladata ensin jotenkin ja sitten onloadilla ajaa tuo
document.images["kuva"].src = image+tmp;
amuse kirjoitti:
Juhko: Meinasitko niin, että z-indexillä nostettaisiin divejä aina vuorotellen toistensa eteen?
Juu.
amuse kirjoitti:
En oikein ymmärrä miten tuota onloadia käytetään funktion sisällä. Kuva kai pitäisi ladata ensin jotenkin ja sitten onloadilla ajaa tuo document.images["kuva"].src = image+tmp;.
Kyllä juhkonkin ideassa täytyy tietää milloin z-indexiä muutetaan, eli milloin kuva on ladattu. Joskin itse muuttaisin mielummin display:none:n ja display:block:n välillä. Muuten ehdotuksemme ovat kyllä käytännössä samat. Voisin kyllä tehdä tuosta onloadista vaikka esimerkin, mutta aika ei kyllä juuri nyt riitä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.