1. 程式人生 > >頁面按鈕禁用與解除禁用

頁面按鈕禁用與解除禁用

 計時器和延時器的概念

            //--計時器
            // 計時器ID號 setInterval(回撥函式, 毫秒數);
            // 每隔指定毫秒數,呼叫一次回撥函式

            // clearInterval(計時器ID號)
            // 停止指定ID號的計時器(實際上是銷燬釋放資源了)
            
            //--延時器
            // 延時器Id號 setTimeout(回撥函式, 毫秒間隔)
            // 從呼叫開始,等待指定毫秒數後呼叫一次回撥函式,結束
            // 使用clearTimeout清除延時器

效果圖:

頁面開啟後會出現下圖:之後按鈕value值每過1秒 數字減小1直至0停止 按鈕內容變為同意

  

實現程式碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <style type="text/css">
    #btn
    {
        width:200px;
        height:50px;
        background -color:gary;
        }
    </style>
    <script type="text/javascript">
        onload = function () {
            //獲得該button物件
            var btn = document.getElementById('btn');
            //建立計時器  返回計時器ID
            var intervalId = setInterval(function () {
                var waitSecond = parseInt((/\d+/).exec(btn.value));//利用RegExp.exec()方法,返回匹配的字串內容
                waitSecond--;//時間--
                if (waitSecond >= 0) {//判斷  
                    btn.value=btn.value.replace(/\d+/, waitSecond)  //利用string.repleace(RegExp,code)方法替換按鈕value中數字,並返回替換結果
                } else {
                    btn.value = '同意';//將按鈕value值改為同意
                    btn.disabled = false;//將按鈕disabled值改為false
                    clearInterval(intervalId);//清除計時器
                }

            }, 1000);

        };
    </script>
</head>
<body>
    <input type="button" name="name" value="請仔細閱讀5秒後點擊同意繼續"  id="btn" disabled="disabled"/>
</body>
</html>