javascript

  1. <script language = "JavaScript">
  2.     var secs
  3.     var timerID = null
  4.     var timerRunning = false
  5.     var delay = 1000
  6.  
  7.     window.onload = InitializeTimer;
  8.  
  9.     function InitializeTimer()
  10.     {
  11.         //กำหนดเวลาหน่วง หน่วยเป็นวินาที
  12.         secs = 3
  13.         StopTheClock()
  14.         StartTheTimer()
  15.     }
  16.  
  17.     function StopTheClock()
  18.     {
  19.         if(timerRunning)
  20.             clearTimeout(timerID)
  21.         timerRunning = false
  22.     }
  23.  
  24.     function StartTheTimer()
  25.     {
  26.         if (secs==0)
  27.         {
  28.             StopTheClock()
  29.             //ตรงส่วนนี้เป็นส่วนที่เราต้องการให้ประมวลผลหลังจากครบกำหนดระยะเวลาที่กำหนดไว้แล้ว
  30.             window.location="/weblog";
  31.         }
  32.         else
  33.         {
  34.             //ถ้าหากต้องการแสดงเวลาที่เหลือ (แบบ count down) ก่อนที่จะไปประมวล สามารถกำหนดได้ในส่วนนี้
  35.             document.getElementById("timeRemain").innerHTML=secs;
  36.             self.status = secs
  37.             secs = secs - 1
  38.             timerRunning = true
  39.             timerID = self.setTimeout("StartTheTimer()", delay)
  40.         }
  41.     }
  42. </script>

ในการนำโค้ดไปใช้สามารถแก้ระยะเวลาหน่วงได้ที่

secs = 3

การทำงานของโค้ดก็ง่าย ๆ โดยการลดจำนวนในตัวแปร “secs” ครั้งละหนึ่งวินาที เมื่อ “secs” มีค่า 0 นาฬิกาจับเวลาจะถูกหยุด และเป็นช่วงเวลาที่เราจะสามารถสั่งประมวลผลอะไรก็ได้ เพราะเวลาหน่วงหมดลงแล้ว

การเรียกใช้ตัวหน่วงเวลานี้ สามารถเรียกใช้ได้หลายทางด้วยกัน ไม่ว่าจะเป็น onClick, onLoad โดยเรียกใช้ฟังก์ชัน InitializeTimer() เช่น onClick=”InitializeTimer()” ,onLoad=”InitializeTimer()”

อ้างอิง: