站内搜索

菜鸟应用JAVASCRIPT 之 简易闹钟程序

原帖及讨论:http://bbs.bccn.net/thread-167239-1-1.html

*/ --------------------------------------------------------------------------------------
*/ 出自: 编程中国  http://www.bccn.net
*/ 作者: 编程之星    E-mail:rostar@126.com    QQ:150163704
*/ 时间: 2007-9-2  编程论坛首发
*/ 声明: 尊重作者劳动,转载请保留本段文字
*/ --------------------------------------------------------------------------------------


                             菜鸟应用JAVASCRIPT 之 简易闹钟程序
                                                ――编程之星
                                                   2008-9-2
  大家好,今天我们来学习一下用Javascript来写出一个简单的网页闹钟程序.先简单地介绍一下这个简单的程序吧.该程序能够在你设定的时间(响铃时间)到后给你提示,当然你可以自定义提示信息,你还可以设置在指定的时间到后播放你所指定的歌曲,用来提醒你,你设置的时间已经到了,这样就达到这类似闹钟的效果啦.其实还有其他方法来实现闹钟效果的,我曾经用VBscript来写过一个闹钟程序,所采用的算法就和本程序采用的不一样, 也许本程序所采用的算法比较笨,这可能和本人的IQ有关,采用这种算法的原因除了本人比较笨以外,还有就是Javascript和VBscript语言本身的差异,尽管这个闹钟程序很简单了,但用VBscript可以更加简单的实现(这是我的个人愚见).

程序测试连接:http://rostar.xinwen520.net/简易闹钟程序.html



程序完整源代码:

程序分析:
  该程序比较简单!首先我们来看看第1句代码var AlarmTimeSet=new Date();
这表示创建一个Date对象AlarmTimeSet.接下来我们看看AlarmClock()函数的内部.
在函数内部,我们首先看到var AlarmMessage=SMS.value;这句表示用户自定义的闹钟提示信息.然后看到第二句var TimeNowSet=new Date();TimeNowSet对象用来对当前时间的设置,应该闹钟的程序原理就是用当前的时间和设定的时间相对比,如果当前的时间和设定的时间一致的话,那么闹钟就应该响铃了.下面来看看比较长的一句var AlarmTime=new Date(AlarmTimeSet.getFullYear(),AlarmTimeSet.getMonth()+1,AlarmTimeSet.getDate(),H.value,M.value,S.value);这表示设定要响铃的时间, getFullYear()、getMonth()、getDate()都是Javascrip内部对象Date的方法,分别代表取得年份(4位)、月份(0~11之间)、日期(1~31之间), H.value、M.value、S.value就分别是提取时、分、秒了,这样闹钟的响铃时间就已经设定了.接下来,我们来看看更长的一句var TimeNow=new Date(TimeNowSet.getFullYear(),TimeNowSet.getMonth()+1,TimeNowSet.getDate(),TimeNowSet.getHours(),TimeNowSet.getMinutes(),TimeNowSet.getSeconds());这表示最终设定当前的时间,因为Javascript对时间对象的操作要比VBscript复杂一些,所以代码就要长一些. getHours()、getMinutes()、getSeconds()分别代表取得Date对象的时、分、秒.到这里当前时间和响铃时间都已经设置好啦,那么现在就要开始下面的代码了,下面的代码是嵌套的if结构块.先看外层的if结构吧, if(TimeNow.getTime() == AlarmTime.getTime())这表示如果当前的时间和响铃的时间一致,那么就执行外层if结构块内部的两个if结构.否则如果AlarmTime.getTime()< TimeNow.getTime()就提示时间已经过期.如果到了响铃的时间,即TimeNow.getTime()== AlarmTime.getTime(),那么就开始判断”音乐播放”复选框是否选取,如果点取的该复选框(OPENMUSIC.checked)那么就播放歌曲,document.write(…)这几句代码不用解释了吧.如果”提示信息”文本框没有填入提示信息,那么就采用默认的提示信息―“时间到啦”,如果填写了提示信息,那么就弹出设置的提示信息.然后,return语句表示返回(退出)该函数. setTimeout("AlarmClock()",500);表示每隔半秒就递归执行一次AlarmClock()函数,检测当前时间是否和响铃的时间一致.

总结:
   程序分析完毕,希望大家有收益.

   大家可以下载此程序代码
   点击下载该文件


编程之星的菜鸟应用JAVASCRIPT系列:

http://bbs.bccn.net/thread-136723-1-1.html

 

  • 上一篇:菜鸟应用JAVASCRIPT 之 简易随机广告程序
  • 下一篇:结合JavaScript与ASP.NET Web窗体进行程序开发