【Javascript Demo】防止按钮在短时间内被多次点击

如果一个按钮可以在短时间内多次点击,那么有可能会被用户恶意点击,为防止这种情况,可以设定一定时间内只能点击一次,其他时间禁止点击按钮。

1.效果如下:

 
 

2.代码如下:
 
<div>
        <input type="button" value=" 点下我不会怀孕的 " id="btn" onclick="show()" />
    </div>
    <script type="text/javascript">
        /* 
        timeId=window.setTimeout("method()",1000);     window.clearTimeout(timeId);定时执行 
        timeId=window.setInterval("method()",1000);     window.clearInterval(timeId);循环执行 
        */

        var nn = 0;
        var tipId;
        var tipO;
        function show() {
            nn = 10;
            tipId = window.setInterval("start()", 1000); //每隔1秒调用一次start()方法
            $("#btn").removeAttr("onclick");//取消点击事件
            tipO = window.setTimeout("getclick()", 10000);//10秒后给定点击事件
        }

        function start() {
            if (nn > 0) {
                var vv = " 点下我不会怀孕的 (" + nn + ")";
                $("#btn").attr("disabled", "disabled"); //使按钮不能被点击
                $("#btn").attr("value", vv); //更改按钮上的文字
                nn--;
            } else {
                $("#btn").removeAttr("disabled"); //使按钮能够被点击
                $("#btn").attr("value", " 点下我不会怀孕的 "); //更改按钮上的文字
                window.clearInterval(tipId); //清除循环事件
            }
        }

        function getclick() {
            $("#btn").attr("onclick", "show()"); //给定点击事件
            window.clearTimeout(tipO);//取消定时事件
        }
    </script>

 

posted @ 2014-03-10 14:37  叶超Luka  阅读(3863)  评论(4编辑  收藏  举报