Autor | Zpráva | ||
---|---|---|---|
André Profil * |
#1 · Zasláno: 30. 7. 2014, 13:19:42
Zdravim.
V tagu <audio> mám zvuk, který potřebuju přehrát po jedné, pěti a osmi sekundách a javascript zatím ještě nějak extra neovládám, tak by mne zajímalo, jak k prvnímu zpoždění začlenit i zbylé dva časy. Předem díky. HTML: <body onload="Func1Delay()"> <audio id="zvuk"> <source src="snd/zvuk.mp3" type="audio/mp3" /> </audio> JS: function Func1() { document.getElementById('zvuk').play(); } function Func1Delay() { setTimeout("Func1()", 2000); } Živá ukázka: http://kod.djpw.cz/rseb |
||
_Leopik 2x Profil * |
#2 · Zasláno: 30. 7. 2014, 14:46:52
setTimeout("Func1()", 1000); // po 1s (1s = 1000ms) setTimeout("Func1()", 5000); // po 5s setTimeout("Func1()", 8000); // po 8s |
||
André Profil * |
#3 · Zasláno: 30. 7. 2014, 16:43:38
_Leopik 2x:
Díky, já tam furt cpal ty závorky a nic. Ale fungovalo by to pouze v případě, kdyby byl zvuk krátká, maximálně 4 sekundová sekvence. Když trvá 6 vteřin, v momentě kdy se má přehrát druhé opakování, doznívá ještě to první, takže skript to druhé prostě přeskočí a přehraje to až ve třetím opakování. Jak toto ignorovat a přehrát všechna tři opakování natvrdo? |
||
_Leopik 2x Profil * |
#4 · Zasláno: 30. 7. 2014, 17:53:57
Môžeš to pauznúť a resetovať aktuálnu pozíciu v prehrávaní
function Func1() { document.getElementById('zvuk').pause(); document.getElementById('zvuk').currentTime = 0; document.getElementById('zvuk').play(); } |
||
_es Profil |
#5 · Zasláno: 30. 7. 2014, 22:24:54
_Leopik 2x:
„ setTimeout("Func1()", 1000); “
Alebo, lepšie, setTimeout(Func1, 1000); ( Časté potíže, zajímavosti a poučné debaty » Nepoužívejte eval , ani jeho obdoby).
André: Okrem toho, je zvykom, že ak názov funkcie začína veľkým písmenom, tak je funkcia navrhnutá ako konštruktor - s použitím operátora new. |
||
Časová prodleva: 11 let
|
0