Autor Zpráva
rihot
Profil
Dobrý den,
javascript vůbec neovládám, ale potřeboval bych vytvořit v javascriptu aby se po 5-ti vteřinách měnili dva obrázky.

Děkuju za každou pomoc :)
Skynet-cz
Profil *
Tohle by mělo být ono:

<html>
<head>
<title>Změna obrázků</title>
</head>

<body style="text-align: center; margin-top: 150px;">

<!-- url obrázků je jen informativní, změň si ho na své obrázky -->
<script type="text/javascript">

function nacasujZmenu(id,url) {
setTimeout("zmenObrazek('"+id+"','"+url+"')",5000)
}
function zmenObrazek(id,url) {
document.getElementById(id).src=url;
}

</script>

<img src="http://www.netbsd.org/images/support-icon-orange.png" id="obrazek1" onLoad="nacasujZmenu('obrazek1','http://www.bsdnexus.com/NetBSD_onastick/images/download-icon-orange.png')">

</body>
</html>


Můžeš si udělat víc takovýchto obrázků. Stačí, když bude mít každý obrázek jiný id a v části onLoad změníš první parametr z obrazek1 na totožný s daným id. Druhý parametr je pak odkaz na obrázek, který má naběhnout po pěti vteřinách. Pět vteřin můžeš pozměnit zaměněním hodnoty 5000 ve scriptu.
rihot
Profil
díky, ale já jsem myslel aby se stále dokola opakovali ne jenom jednou ;) děkuji
Mar
Profil
příště zkus tlačítko hledat, už jsem to tu jednou psal....

http://diskuse.jakpsatweb.cz/?action=vthread&forum=3&topic=109858&page=-1
rihot
Profil
zdá se mi to moc složité a když jsem to udělal tak to nefungovalo :(, a nechtěl bych žádnou prezentaci jenom prostě aby se ty obrázky vyměnili :)
Witiko
Profil
Zcela primitivní script:

<img src="obrázek.jpg" onload="var index = 1;window.setInterval(function(){if(index == 0) {this.src = 'první url'; index = 1;} else {this.src = 'druhé url'; index = 0;}},5000);">
Chamurappi
Profil
Reaguji na Witika:
Řekl bych, že jsi zapomněl na fakt, že jakmile se načte změněný obrázek, vyvolá se událost onload znovu.
A také mám tušení, že v načasované funkci nebude správné this.
Witiko
Profil
Pravda, tak to trochu povzneseme celkově:

<script type = "text/javascript">
  /* Obrázků lze vložit libovolný počet */
  var images = ["url1","url2"]
  var interval = 5000
  
  onload = init
  
  function init() {
    var element = document.getElementById("image")
    var index = 0
    window.setInterval(function(){
      if(index == images.length-1) index = 0
      else index++
      element.src = images[index]
     },interval)
  }
</script>

...

<img id="image" src="url1">

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0