[原创]菜鸟应用JAVASCRIPT 之 简易闹钟程序
*/ --------------------------------------------------------------------------------------<br>*/ 出自: 编程中国 http://www.bc-cn.net<br>*/ 作者: 编程之星 E-mail:rostar@126.com QQ:150163704<br>*/ 时间: 2007-9-2 编程论坛首发<br>*/ 声明: 尊重作者劳动,转载请保留本段文字<br>*/ --------------------------------------------------------------------------------------<br><br><br><P> 菜鸟应用JAVASCRIPT 之 简易闹钟程序<br> ——编程之星<br> 2008-9-2<br> 大家好,今天我们来学习一下用Javascript来写出一个简单的网页闹钟程序.先简单地介绍一下这个简单的程序吧.该程序能够在你设定的时间(响铃时间)到后给你提示,当然你可以自定义提示信息,你还可以设置在指定的时间到后播放你所指定的歌曲,用来提醒你,你设置的时间已经到了,这样就达到这类似闹钟的效果啦.其实还有其他方法来实现闹钟效果的,我曾经用VBscript来写过一个闹钟程序,所采用的算法就和本程序采用的不一样, 也许本程序所采用的算法比较笨,这可能和本人的IQ有关,采用这种算法的原因除了本人比较笨以外,还有就是Javascript和VBscript语言本身的差异,尽管这个闹钟程序很简单了,但用VBscript可以更加简单的实现(这是我的个人愚见).<br><br> 程序测试连接:<a href="http://rostar.xinwen520.net/简易闹钟程序.html" target="_blank" >http://rostar.xinwen520.net/简易闹钟程序.html<br></A><br><br><br>程序完整源代码:<br></P>
<DIV class=htmlcode>
<P><FONT color=#0909f7><html><br><head><br><script><br>var AlarmTimeSet=new Date();<br>function AlarmClock()<br>{ <br> var AlarmMessage=SMS.value;<br> var TimeNowSet=new Date();<br> var AlarmTime=new Date(AlarmTimeSet.getFullYear(),AlarmTimeSet.getMonth()+1,AlarmTimeSet.getDate(),H.value,M.value,S.value);<br> var TimeNow=new Date(TimeNowSet.getFullYear(),TimeNowSet.getMonth()+1,TimeNowSet.getDate(),TimeNowSet.getHours(),TimeNowSet.getMinutes(),TimeNowSet.getSeconds())<br> if(TimeNow.getTime() == AlarmTime.getTime())<br> {<br> if(OPENMUSIC.checked)<br> {<br> document.write("<embed autostart='true' src="+MUSIC.value+">"); <br> document.write("<p>"); <br> document.write("<a href='javascript:history.back()'>返回闹钟程序</a>");<br> }<br> if(AlarmMessage=="")<br> {<br> alert("时间到啦"); <br> }else{<br> alert(AlarmMessage);<br> }<br> return; <br> }else if(AlarmTime.getTime() < TimeNow.getTime()){<br> alert("时间已过期");<br> return;<br> } <br> setTimeout("AlarmClock()",500);<br>}<br></script><br></head><br><body><br>提示信息<input id="SMS" size="30"><br><br><br>音乐地址<input id="MUSIC" size="30"><br><input id="OPENMUSIC" type="checkbox">音乐播放<br><p><br><b>设定闹钟时间:</b></FONT></P>
<P><FONT color=#0909f7>时<input id="H" size="5"><br>分<input id="M" size="5"><br>秒<input id="S" size="5"><br><button onclick="AlarmClock()">确定</button><br></body><br></html><br></FONT></P></DIV>
<P><STRONG><FONT color=#54295f>程序分析:</FONT></STRONG><br> 该程序比较简单!首先我们来看看第1句代码var AlarmTimeSet=new Date();<br>这表示创建一个Date对象AlarmTimeSet.接下来我们看看AlarmClock()函数的内部.<br>在函数内部,我们首先看到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()函数,检测当前时间是否和响铃的时间一致.</P>
<P>总结:<br> 程序分析完毕,希望大家有收益.<br><br> 大家可以下载此程序代码<br> [attach]26965[/attach]</P>
<P><br>编程之星的菜鸟应用JAVASCRIPT系列:<br><br><a href="http://bbs.bc-cn.net/viewthread.php?tid=136723&star=at#" target="_blank" >菜鸟应用JAVASCRIPT 之 简单图片浏览<br></A><br><a href="http://bbs.bc-cn.net/viewthread.php?tid=167244&star=at#" target="_blank" >菜鸟应用JAVASCRIPT 之 随机广告程序<br></A><br><a href="http://bbs.bc-cn.net/viewthread.php?tid=166509&star=at#" target="_blank" >菜鸟应用JAVASCRIPT 之 简易网页音乐播放程序</A></P><br>
[align=right][color=#000066][此贴子已经被作者于2007-9-2 22:57:06编辑过][/color][/align]
回复 1# 的帖子
写的不错,支持页:
[1]
