VBScript tip: Jak udělat na stránce hodiny

I bez použití serverových skriptů nebo Java appletů můžete na stránce udělat efektní a občas dokonce i užitečné hodiny. Lze k tomu využít dynamického HTML a VBScriptu nebo JavaScriptu.
I bez použití serverových skriptů nebo Java appletů můžete na stránce udělat efektní a občas dokonce i užitečné hodiny. Lze k tomu využít dynamického HTML a VBScriptu nebo JavaScriptu.

DHTML umožňuje dynamicky měnit nejenom polohu, ale též obsah jednotlivých elementů – pomocí atributu InnerText. Toho využívá následující příklad, ve kterém je však skryto více užitečných triků. Níže uvedený kus HTML vložte do vaší stránky na místo, kde chcete mít hodiny.

<SCRIPT TYPE="text/vbscript" LANGUAGE=“VBScript“>
  <!--
   '--- Vypsat element s hodinami
   Document.Write "<SPAN ID=""span_Timer"">" & Now() & "</SPAN>"
  
   '--- Nastavit první timeout na vteřinu
   SetTimeout "UpdateTimer()", 1000
  
   '--- Funkce pro aktualizaci času v prvku span_Timer
   Function UpdateTimer()
   span_Timer.InnerText = Now()
   ' Znovu zavolat za jednu vteřinu
   SetTimeout "UpdateTimer()", 1000
   End Function
  -->
  </SCRIPT>
  

První část do dokumentu vloží HTML element <SPAN> a jako jeho obsah vloží aktuální datum a čas. Element je lépe vypsat skriptem, než ho psát „natvrdo“ do HTML, a to kvůli prohlížečům, které VBScript nepodporují. VBS nepodporující prohlížeč totiž nevypíše v tomto případě nic.

Druhá část příkladu vytvoří timer – řekne prohlížeči, že za 1000 milisekund (tedy jednu sekundu) má zavolat funkci UpdateTimer().

A konečně, třetí část skriptu je funkce UpdateTimer, která jednak jako obsah prvku span_Timer nastaví aktuální datum a čas a jednak znovu nastaví timer, který zavolá tutéž funkci za další vteřinu.

A jako bonus přidávám další skript – co dělá, to si ovšem musíte odvodit (nebo vyzkoušet :-) sami!

<SCRIPT TYPE="text/vbscript">
  <!--
   Dim TimeOut
  
   Document.Write "<H1 ID=""h1_Time"">10...</H1>"
   TimeOut = 10
   SetTimeout "Tick()", 1000
  
   Function Tick()
   TimeOut = TimeOut - 1
   If TimeOut = 0 Then
   h1_Time.InnerHtml = _
  "<A HREF=""http://zive.cpress.cz"">http://zive.cpress.cz</A>"
   Window.Location.Href = "http://zive.cpress.cz"
   Else
   h1_Time.InnerText = TimeOut & "..."
   SetTimeout "Tick()", 1000
   End If
   End Function
  -->
  </SCRIPT>

  
Váš názor Další článek: I hlavní produkt od Informixu je už portován pro Linux

Témata článku: Software, Programování, Timeout, Timer, Užitečná funkce, 1000, Element, Vteřina

Určitě si přečtěte


Aktuální číslo časopisu Computer

Jak rychlé je nabíjení bez drátů?

Test 11 sluchátek pro hráče

Aplikace, které vám zachrání dovolenou

Kompletní přehled datových tarifů