| 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: 12 let
|
|||
0