zoukankan      html  css  js  c++  java
  • javaScript实现同意等待——心得

    javaScript功能描述:本程序实现在同意某某协议页面对同意按钮进行十秒钟的禁用,同时在按钮的Value显示倒计时。

    正确源程序如下:

    <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按钮解析出来后就可以去到值,程序就可以实现功能了。

  • 相关阅读:
    ZCMU训练赛-H(模拟)
    ZCMU训练赛-B(dp/暴力)
    ZCMU训练赛-A(模拟)
    HDU 2045 LELE的RPG难题(递推)
    HDU 2044 一只小蜜蜂(递归)
    HDU 2050 折线分割平面(转)
    对递归的理解归纳(转)
    漫谈递归思想(转)
    2017中南大学暑期集训day1 : debug&STL-A
    探寻宝藏--河南省第六届大学生程序设计竞赛
  • 原文地址:https://www.cnblogs.com/605395451/p/1923146.html
Copyright © 2011-2022 走看看