正确源程序如下: 复制代码 代码如下: <script type="text/javascript"> var lastTime = 3; function abc() { var btnReg = document.getElementById("btnReg"); if (!btnReg) { return; } if (lastTime <= 0) { btnReg.value = "同意"; btnReg.disabled = ""; clearInterval("TimeId"); } else { btnReg.value = "还剩下" + lastTime + "秒"; lastTime--; } } var TimeId = setInterval("abc()", 1000); </script> 我把第四行的 var btnReg = document.getElementById("btnReg")定义为全局变量btnReg = document.getElementById("btnReg"); 并且放到函数abc()之外,程序实现不了功能了。 原因如下:浏览器解析Html页面是从上到下,解析到btnReg = document.getElementById("btnReg")时,id为btnReg的按钮还没被解析出来,所以全局变量btnReg的值为为定义, 又因为只执行了一次所以程序实现不了功能了,而正确的源程序每隔一秒就去取一次,等到button按钮解析出来后就可以去到值,程序就可以实现功能了。
推荐阅读
JavaScript 获取/设置光标位置,兼容Input&&TextArea
JavaScript 获取/设置光标位置,兼容Input&&TextArea。
body { margin: 32px; font-family: Verdana, sans-serif; font-size: 13px; }
.title { font-size: 18px; font-weight: bolder;margin:40px 0;>>>详细阅读
本文标题:javaScript同意等待代码实现心得
地址:http://www.17bianji.com/kaifa2/JS/25106.html
1/2 1