Autor Zpráva
Komlop
Profil *
Zdravím,
potřeboval bych změnit část kodu stránky například po pěti vteřinách a poté už tam bude stále ten druhý kod.
Například aby se zobrazilo toto:
<img src="http://web.cz/obrazeknapetvterin.png">
a po pěti vteřinách nastálo toto:
<img src="http://web.cz/stalyobrazek.png">

Nejedná se jen o obrázky :)
Ideální by byl nějaký příklad, všechny potřebná data budou ve zdrojovem kodu kde se zobrazuji.

Snad jsem vysvětlil dostatečne.
_es
Profil
Komlop:
Snad jsem vysvětlil dostatečne.
Ani veľmi nie, obrázku v JS môžeš zmeniť src. HTML obsah nejakého elementu zmeníš cez innerHTML (s nejakými obmedzeniami). Všeobecne môžeš na stránke zmeniť hocičo a keď vysvetlíš účel, možno dostaneš pre teba vhodnejšiu radu.
Jan Tvrdík
Profil
Komlop:
Viz také Časování.
Komlop
Profil *
Konkrétně potřebuji aby se zobrazil obrázek a po pěti sekundách embed kód.
_es
Profil
Komlop:
po pěti sekundách embed kód
Ten „embed kód“ je čo? Toto?: Objekty » embed
Komlop
Profil *
Nakonce mě napadlo, že by to nejlépe šlo udělat, kdyby to byly dva flashe, tedy konkrétně:
První by se zobrazil tento kod:
<embed src="web.cz/na5sekund.swf" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="525" width="700"></object>
a pak se to má nahradit tímto:
<embed src="web.cz/porad.swf" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="525" width="700"></object>

Takhle by se měnilo jen src. Jde to tedy nějak udělat, aby se změnilo jen toto a zároveň se nemusela obnovit celá stránka?
_es
Profil
Komlop:
Jde to tedy nějak udělat
Áno, cez JS zmeníš vlastnosť src:
setTimeout(function(){document.getElementById("idEmdedu").src=nováAdresa}, 5000)
Komlop
Profil *
Zkusil jsem to a funguje to pouze ve firexoxu, co tam mám špatně?
<script>
setTimeout(function(){document.getElementById("zmenasrc").src="http://web.cz/na5sekund.swf"}, 5000)
</script>            
<embed id="zmenasrc" src="http://web.cz/porad.swf" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="525" width="700"></object>

Jinak toto je přesně to co potřebuji :)
_es
Profil
Komlop:
Značka <script> by mala byť až za značkou <embed>. Máš nejako popletené značky. Čo tam robí značka </object>?
Komlop
Profil *
Upravil sem to na toto a výsledek pořád stejný:
            
<embed id="zmenasrc" src="http://web.cz/porad.swf" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="525" width="700"><script>
setTimeout(function(){document.getElementById("zmenasrc").src="http://web.cz/na5sekund.swf"}, 5000)
</script></embed>

Výsledek pořád stejný, stále funguje pouze ve firefoxu
_es
Profil
Komlop:
Vyskúšaj rovnakým spôsobom použiť <object> alebo <iframe>.
Alebo ti možno len stačí obrázkom prekryť embed a po 5. sekundách obrázok odstrániť.
Komlop
Profil *
Iframe funguje všude, ale nenapadá tě tedy jak to udělat, aby se zachoovalo embed?
Chamurappi
Profil
Reaguji na Komlopa:
Uvedený kód by měl fungovat všude. Pokud nefunguje, děláš něco špatně. Dodáváš nám málo informací.

</embed>
Element <embed> nemá a nikdy neměl ukončovací značku.
Komlop
Profil *
Zkusil jsem vytvořit stránku a také funguje pouze ve firefoxu:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, www.pspad.com">
  <title></title>
  </head>
  <body>
         <embed id="zmenasrc" src="http://www.herna.biz/games/akcni/2672/2672.swf" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="525" width="700"><script>
setTimeout(function(){document.getElementById("zmenasrc").src="http://www.herna.biz/games/relaxacni/2673/2673.swf"}, 5000);
</script>
  </body>
</html>
weroro
Profil
Namiesto <embed> použi <object>

<object type="application/x-shockwave-flash" data="http://www.herna.biz/games/akcni/2672/2672.swf" width="525" height="700">
        <param name="movie" value="http://www.herna.biz/games/akcni/2672/2672.swf">
        <param name="allowScriptAccess" value="always">
        <param name="allowfullscreen" value="true">
      </object>

alebo vkladaj flash priamo pomocou javascriptu (swfObject). To je jedna z tých lepších alternatív v tomto prípade. Ak si vytvoríš prázdny div <div id="flashobsah"></div> tak ho pomocou swfObject môžeš "prekreslovať" novým SWF súborom podľa potreby:
<script type="text/javascript">
          // <![CDATA[
          var cesta = "http://www.herna.biz/games/akcni/2672/2672.swf";
          swfobject.embedSWF(cesta, "flashobsah", "525", "700", "10", cesta, null, null); 
          // ]] >  
      </script>


konkrétne v tvojom prípade:

<div id="flashobsah"></div>
<script type="text/javascript">
          // <![CDATA[
          var cesta = "http://www.herna.biz/games/akcni/2672/2672.swf";
          swfobject.embedSWF(cesta, "flashobsah", "525", "700", "10", cesta, null, null); 
setTimeout(function(){
var cesta = "http://www.herna.biz/games/relaxacni/2673/2673.swf";
          swfobject.embedSWF(cesta, "flashobsah", "525", "700", "10", cesta, null, null); 
}, 5000);

          // ]] >  
      </script>

Viac o kombinovanom vkladaní flashu http://www.hojko.com/najfunkcnejsi-sposob-vlozenia-flashu-do-web-stranky-t170134.html
Komlop
Profil *
Tak jsem to zkusil (přesný kod jak píšeš weroro ) a funguje to ve firefoxu, v chromu nebo exploreru pouze zmizí první a zůstane to bílé.
weroro
Profil
Nalikoval si do <head> súbor swfobject.js?
<script src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js" type="text/javascript"></script>

Prosím o odkaz na živou ukázku.
Komlop
Profil *
Byla to moje chyba, ten poslední kod funguje, omylem sem tam dával odkaz na nefunkční swf soubor.
Tak vám všm moc děkuji.
Jen aby bylo jasno, tak nejlépe mi funguje tento kod:
<div id="flashobsah"></div>
<script type="text/javascript">
          // <![CDATA[
          var cesta = "http://www.herna.biz/games/akcni/2672/2672.swf";
          swfobject.embedSWF(cesta, "flashobsah", "525", "700", "10", cesta, null, null); 
setTimeout(function(){
var cesta = "http://www.herna.biz/games/relaxacni/2673/2673.swf";
          swfobject.embedSWF(cesta, "flashobsah", "525", "700", "10", cesta, null, null); 
}, 5000);
 
          // ]] >  
      </script>



A ještě jednou vám děkuji :)

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:

Prosím používejte diakritiku a interpunkci.

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