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í, Timer, Užitečná funkce, 1000, Timeout, Vteřina, Element

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


Aktuální číslo časopisu Computer

Zachraňte nefunkční Windows

Jak nakupovat a prodávat kryptoměny

Otestovali jsme konvertibilní notebooky

Velký test 14 herních myší