熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

利用VBScript實現倒計時

2013-11-15 11:36:47  來源: JSP教程 
澳門就要回歸祖國的懷抱而且千年蟲年)也一步步地在向我們逼近對於這些即將到來的時刻我們最好做一個倒計時來時刻提醒我們它們的到來而且如果在你的網頁上加上一個澳門回歸的倒計時牌那麼也會使用你的主頁立意更加新穎下面我們來用VBScript來實現這個功能

要實現倒計時主要用到的是一個時間函數 DateDIFF()它的作用是求出兩個日期之間的時間間隔它的格式如下

DateDIFF(formatDateDate)

其中 format是指返回的格式我們可以按相差多少天相差多少小時或相差多少秒的格式來返回具體格式和意義請參見下表

格式              意義
Yyyy              年
Q               一刻鐘
M               月
Y               一年的一天
D               天
W               星期
Ww               日期
H               小時
M               分
S               秒

在這裡我們只要求出兩個時間之間相差的秒數然後可以根據 天等於小時小時等於 分等於 秒來求出相差多少天多少小時多少分多少秒

Date 和Date 用來表示兩個日期如果我們要求出 年到今天的時間差只要把 年放在 Date 的位置而把現在的時間放在 Date 的位置就可以了

現在在理論上已經可行了但是我們還必須加入一個標簽用來顯示時間而且要加入一個定時器來定時地刷新標簽上的顯示定時器的時間間隔定為多大為合適呢?這沒有一個定論要根據條件而定因為本程序的倒計時是以秒為最小單位的所以我們必須能夠正確地對每秒鐘進行刷新也就是說定時器的間隔必須小於或等於 但是由於定時器的並不是嚴格地與秒相等所以即使設為也有可能不會及時地刷新出現間斷跳躍比如顯示完秒後應該是然後才是但是由於刷新不及時可能會出現顯示完 秒就顯示 秒的情況這就是刷新不及時造成的(但這並不影響倒計時的精確度)我們再來把定時器的時間間隔設的很小看看設為這樣每隔大約/就會求一次值這是決對精確的但是又有一個問題就是如果時間間隔太小可能會搶占太多的系統時間對本來就很慢的網絡來說可是個不小的負擔如果折中一下可以把它設為秒內刷新這就能滿足雙方面的需要了

我們來看一下相應的程序段

   < script LANGUAGE=VBScript >
   < !
   option explicit
   dim MyDate 結果日期
   dim datesub 時間差
   dim dd 相差天數
   dim hh 相差小時數
   dim mm 相差分數
   dim ss 相差秒數
   dim strTip 標簽提示
   mydate=CDate()
   dim mytime
   Sub tmraumen_Timer()
   datesub=datediff(snowmydate)
   dd=fix(datesub/(**))
   hh=fix((datesubdd***)/(*))
   mm=fix((datesubdd***hh**)/)
   ss=fix(datesubdd***HH**MM*)
   strtip=年還有
   strtip=strtip + cstr(dd) +
   strtip=strtip + cstr(HH) + 小時
   strtip=strtip + cstr(MM) + 分鐘
   strtip=strtip + cstr(SS) +
   lblaumencaption=strtip
   end sub
   >

   < /script >

以上僅是實現了一個最簡單的倒計時牌我們還可以再此基礎上對其進行改造和完善如果覺得標簽的拌動太厲害的話可以把一個標簽分成幾個標簽分別用來顯示天小時如果要重新顯示的值和原值相等則不對標簽的內容進行刷新只有在出現變化的時候才對其進行刷新操作這樣就不會出現太明顯的抖動了
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19292.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.