javascript-为什么我的闹钟脚本停止工作?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-为什么我的闹钟脚本停止工作?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2323字,纯文字阅读大概需要4分钟。
内容图文
![javascript-为什么我的闹钟脚本停止工作?](/upload/InfoBanner/zyjiaocheng/696/7ed1be7cd48c4896ae060d6e3d010842.jpg)
它只能工作一次.在第二次单击按钮时,没有任何反应.
如果我在i_budilnik或var budilnik上更改budilnik变量,则该变量将无法使用!
问题出在哪儿?
<div>
<form name="alert">
<input type="text" name="hour" />
<input type="text" name="min" />
<input type="button" value="ok" onclick="budilnik(this.form)">
</form><font color=#660000 size=20 face=Tahoma><span id="hours"></span>
</div>
<script type="text/javascript">
function budilnik(form) {
budilnik = 1;
min = form.min.value;
hour = form.hour.value;
}
obj_hours = document.getElementById("hours");
function wr_hours() {
time = new Date();
time_min = time.getMinutes();
time_hours = time.getHours();
time_wr = ((time_hours < 10) ? "0" : "") + time_hours;
time_wr += ":";
time_wr += ((time_min < 10) ? "0" : "") + time_min;
time_wr = time_wr;
obj_hours.innerHTML = time_wr;
if (i_budilnik == 1) {
if (min == time_min) {
if (hour == time_hours) {
alert('welldone');
budilnik = 0;
}
}
}
}
wr_hours();
setInterval("wr_hours();", 1000);
</script>
解决方法:
您调用函数wr_hours();仅使用onclick budilnik调用一次,但是不会再次触及wr_hours.第一次运行代码是因为页面已加载,但是此后,使用onclick时,仅会再次设置min和hour的值.
编辑:您不应该将表单称为“警报”,因为这是javascript中的保留字,与变量min相同.还:变量min和hour在函数budilnik中定义,但在此范围之外未知.我还将变量budilnik重命名为justonce全局变量,以确保您可以在budilnik范围之外进行检查.我重写了您的代码:
<html>
<body>
<div>
<form name="frm">
<input type="text" name="hour" />
<input type="text" name="mins"/>
<input type="button" value="ok" onclick="justonce=1;">
</form>
<font color=#660000 size=20 face=Tahoma><span id="hours"></span></font>
</div>
</body>
</html>
<script type="text/javascript">
obj_hours=document.getElementById("hours");
justonce=0;
function wr_hours()
{
time=new Date();
time_min=time.getMinutes();
time_hours=time.getHours();
time_wr=((time_hours<10)?"0":"")+time_hours;
time_wr+=":";
time_wr+=((time_min<10)?"0":"")+time_min;
obj_hours.innerHTML=time_wr;
if (justonce==1 && frm.mins.value==time_min && frm.hour.value==time_hours) {
alert('welldone');
justonce=0;
}
}
setInterval("wr_hours();",1000);
</script>
您的函数wr_hours可能会短很多:
function wr_hours()
{
time=new Date();
obj_hours.innerHTML=("%02d",time.getHours())+":"+("%02d",time.getMinutes());
if (justonce==1
&& frm.mins.value==time.getMinutes()
&& frm.hour.value==time.getHours()) {
alert('welldone');
justonce=0;
}
}
内容总结
以上是互联网集市为您收集整理的javascript-为什么我的闹钟脚本停止工作?全部内容,希望文章能够帮你解决javascript-为什么我的闹钟脚本停止工作?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。