Sequencer
Tento prvek nahrazuje metody setInterval a setTimeout - umožňuje časování operací na stránce. Class id je
clsid:b0a6bae2-aaf0-11d0-a152-00a0c908db96 a opět ho umisťujeme na stránku pomocí tagu <OBJECT> a je vhodné ho umístit již mezi tagy <HEAD>:
<HEAD>
<OBJECT id="seq" classid="clsid:b0a6bae2-aaf0-11d0-a152-00a0c908db96">
</OBJECT>
</HEAD>
Přístup k Sequenceru se provádí pomocí skriptů. Nejprve se nadefinuje tzv. množina akcí, pomocí metody At, kterou se nadefinuje jedna akce a čas kdy má proběhnout. Syntaxe příkazu je taková:
ID.Item("ActionSet1").At(čas,"skript",opakování,interval,priorita,zrušení)
Parametr čas nastavuje, kdy se má danná akce provést od spuštění Sequenceru.Skript obsahuje funkci, která se má provést, nebo za použití funkce eval přímo skriptovaný příkaz.
Další čtyři parametry jsou nepovinné. Opakování nastavuje kolikrát se má akce opakovat (0 - neprovede se, -1 - nekonečná smyčka). Interval je prodleva mezi opakováním, je uváděn ve formátu sekundy.milisekundy (např. defaultní 00.033 - 33 ms). Priorita se používá v případě, že ve stejném časovém intervalu má spustit více akcí (první se provádí akce s nižší kladnou hodnotou, -1 je priorita nejnižší). Zrušení je čas, po nastaveném, po který se bude pokoušet spustit akce, jež se nazdařila (např. v důsledku priorit).
Nyní si ukážeme praktický příklad - odpočítávadlo času, které nejprve zobrazí 20 sekund, dále 10s, 5s a odpočítání po jednotkách a poslení polovinu, po třech sekundách vrátí zpět nápis.
<HTML>
<HEAD>
<OBJECT id="seq" classid="clsid:b0a6bae2-aaf0-11d0-a152-00a0c908db96">
</OBJECT>
<Script language="JavaScript">
seq.Item("ActionSet1").At(0.000, "zobraz('20')");
seq.Item("ActionSet1").At(10.000, "zobraz('10')");
seq.Item("ActionSet1").At(15.000, "zobraz('5')");
seq.Item("ActionSet1").At(16.000, "zobraz('4')");
seq.Item("ActionSet1").At(17.000, "zobraz('3')");
seq.Item("ActionSet1").At(18.000, "zobraz('2')");
seq.Item("ActionSet1").At(19.000, "zobraz('1')");
seq.Item("ActionSet1").At(19.500, "zobraz('0,5')");
seq.Item("ActionSet1").At(20.000, "zobraz('0')");
seq.Item("ActionSet1").At(23.000, "zobraz('Odpočítadlo')");
function zobraz(cislo){
pocitadlo.innerText=co;
}
</SCRIPT>
</HEAD>
<BODY>
<DIV id="pocitadlo" style="font-size:30pt">Počítadlo</DIV>
<INPUT type="button" value="Spust" onclick="seq.Item('ActionSet1').Play()">
</BODY>
</HTML>
Zde si můžete skript vyzkoušet:Odpočítadlo
SpusťZpět na informace o DX animation


