Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Jpg kuvan päivittäminen ilman vilkkumista

amuse [15.01.2010 19:11:09]

#

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>

Juhko [15.01.2010 19:19:59]

#

samaan kohtaan 2 diviä päällekkäin

jo123 [15.01.2010 19:37:40]

#

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ä.

amuse [16.01.2010 01:38:18]

#

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;

Juhko [16.01.2010 04:04:10]

#

amuse kirjoitti:

Juhko: Meinasitko niin, että z-indexillä nostettaisiin divejä aina vuorotellen toistensa eteen?

Juu.

jo123 [16.01.2010 12:01:31]

#

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ä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta