Autor | Zpráva | ||
---|---|---|---|
Honzaik Profil * |
Čau, když chci udělat aby mi po 1s JS napsal "AHOJ" pak za další sekundu "Čau" a třeba za další sekundu "Nazdar"
Vymyslel jsem to takhle setTimeout("document.write('AHOJ')", 1000); setTimeout("document.write('Čau')", 2000); setTimeout("document.write('Nazdar')", 3000); Rád bych věděl jestli tam mám někde chybu, nebo jestli by to šlo udělat jednodušeji a funční :D Děkuji |
||
High Voltage Profil * |
#2 · Zasláno: 12. 9. 2011, 22:32:06
Je tu jeden problém. Pokud je již dokument načtený, a potom dostane příkaz document.write(), je jedno jestli po kliknutí nebo po načasování, prostě po načtení, nezačne psát do toho samého dokumentu, ale přepíše jej, takže stihne napsat jen AHOJ, protože ty skripty, které se ještě nestihly provést, jsou v tom starém dokumentu. Nic si z toho nedělej, takových chyb sem udělal spoustu. :-)
Když mi napíšeš, co přesně si chtěl udělat, možná ti pomůžu jinou metodou. |
||
pcmanik Profil |
#3 · Zasláno: 12. 9. 2011, 22:58:58
High Voltage:
Toto tu nieje chat, tak si prosim diskusiu nevytvaraj len medzi sebou a ziadatelom |
||
Honzaik Profil * |
#4 · Zasláno: 12. 9. 2011, 23:28:59
no prostě bych chtěl aby se mi v tom samém dokumentu napsalo Ahoj po 1s čau po další sekundě (tedy 2s od načtení stránky) a nazdar na 3s od načtení stránky, aby to vypadalo prostě Takhle
Ahoj Čau Nazdar |
||
Witiko Profil |
#5 · Zasláno: 12. 9. 2011, 23:31:20 · Upravil/a: Witiko
Honzaik:
Proč ti to nefunguje zodpovídá místní FAQ: Časté potíže, zajímavosti a poučné debaty » Psaní metodou document.write po načtení stránky maže stránku
Časté potíže, zajímavosti a poučné debaty » Nepoužívejte eval , ani jeho obdoby
Pokud chceš vpisovat do dokumentu, měň document.body.innerHTML nebo do document.body appendChild uj document.createTextNode y.
|
||
_es Profil |
#6 · Zasláno: 13. 9. 2011, 09:38:24
Witiko:
„měň document.body.innerHTML“ To nie je dobrý nápad, obzvlášť, ak sa ten skript nachádza v elemente body. |
||
Witiko Profil |
#7 · Zasláno: 13. 9. 2011, 22:03:46 · Upravil/a: Witiko
_es:
Nevidím problém. Samotný script element je nepotřebný po načtení scriptu, tzn. je možné bez obav přiřadit do innerHTML. |
||
_es Profil |
#8 · Zasláno: 14. 9. 2011, 12:40:26
Witiko:
„Nevidím problém.“ Môže nastať zmazanie niektorých skriptov z elementu body , rovnako nie je isté, ako sa prehliadač vysporiada s elementmi v elemente body pridanými cez JS a s ovládačmi udalostí, podobne ako tu.
|
||
Witiko Profil |
#9 · Zasláno: 14. 9. 2011, 14:43:36
_es:
Všeobecně ano, nicméně v tomto konkrétním případě nic nehrozí. |
||
Chamurappi Profil |
#10 · Zasláno: 14. 9. 2011, 14:58:02
Reaguji na Witika:
Pokud má prakticky prázdnou stránku, tak nehrozí. Jinak je to ale slepá ulička, při čemkoliv složitějším se mu přepisování innerHTML u <body> pravděpodobně vymstí… a to třeba tak, že se přijde znovu zeptat :-)
|
||
Honzaik Profil * |
#11 · Zasláno: 14. 9. 2011, 16:58:54
a jak teda to mám udělat? zaměnit document.write za co?
|
||
Witiko Profil |
#12 · Zasláno: 14. 9. 2011, 17:05:00 · Upravil/a: Witiko
Honzaik:
... <span id="kontejner"></span> <script> var kontejner = this.kontejner || document.getElementById("kontejner"); setTimeout(function() {kontejner.innerHTML = "AHOJ";}, 1000); setTimeout(function() {kontejner.innerHTML = "ČAU";}, 2000); setTimeout(function() {kontejner.innerHTML = "NAZDAR";}, 3000); </script> ... Chamurappi: „při čemkoliv složitějším se mu přepisování innerHTML u <body> pravděpodobně vymstí…“ Tak až k tomu dojde, tak to budeme řešit. :-) |
||
_es Profil |
#13 · Zasláno: 14. 9. 2011, 17:11:22
Honzaik:
„a jak teda to mám udělat? zaměnit document.write za co?“ Rôzne alternatívy máš v odkazoch a príspevkoch. |
||
Časová prodleva: 13 let
|
0