解决方案 »

  1.   

    如果严格的话,这个还要结合后台获取时间的,要不然别人刷新一下就行了。
    如果不严格,用个cookie也可以。
    看起来容易,写起来挺麻烦的
    <script src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js"></script>
    <script src="http://yukon12345.com/yukon12345.com/js/jquery.cookie.js"></script>
    <script>
        time1=$.cookie("time1")||60;
        time2=$.cookie("time2")||60;
        dis1=$.cookie("dis1")
        dis2=$.cookie("dis2")
        function countDown($obj){        var time;
            if($obj.attr("id")=="b1")
            {
                time=--time1;
                $.cookie("time1",time,{"expires":1});
                if(time<=0){
                    time1=60;
                    $obj[0].disabled=!$obj[0].disabled
                    clearInterval(inter1)
                    $obj.text("点击发送")
                    $.cookie("dis1","")
                    return
                }
            }
            if($obj.attr("id")=="b2")
            {    time=--time2;
                $.cookie("time2",time,{"expires":1});
                if(time<=0){
                    time1=60;
                    $obj[0].disabled=!$obj[0].disabled
                    clearInterval(inter2)
                    $obj.text("点击发送")
                    $.cookie("dis2","")
                    return
                }
            }        $obj.text(time+"秒后重新发送")    }    $(function(){
            if(dis1="dis"){
                $("#b1")[0].disabled='disabled'
                inter1=setInterval(function(){countDown($("#b1"))},1000)
            }
            if(dis2="dis"){
                $("#b2")[0].disabled='disabled'
                inter2=setInterval(function(){countDown($("#b2"))},1000)
            }
    $(".cd").bind("click",function(){
        $this=$(this);
        //没有被禁用时禁用并执行倒计时
        if(!$this[0].disabled){
        $this[0].disabled='disabled';
            if($this.attr("id")=="b1"){
                $.cookie("dis1","dis",{"expires":1})
              inter1=setInterval(function(){countDown($this)},1000)
            }
            if($this.attr("id")=="b2"){
                $.cookie("dis2","dis",{"expires":1})
              inter2=setInterval(function(){countDown($this)},1000)
            }    }
    })})
    </script><button id="b1" class="cd" >点击发送</button><br>
    <button id="b2" class="cd" >点击发送</button><br>
      

  2.   

    谢谢楼上:)
    越简单越好,也不要后台去校验,也不要去检查COOKIE了:)
    谢谢!
      

  3.   

    删掉点不就是了
    <script src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js"></script>
    <script>
        time1=60;
        time2=60;    function countDown($obj){
            var time;
            //有几个按钮写几个类似的。
            if($obj.attr("id")=="b1")
            {
                time=--time1;
                if(time<=0){
                    time1=60;
                    $obj[0].disabled=!$obj[0].disabled
                    clearInterval(inter1)
                    $obj.text("点击发送")
                    return
                }
            }
            if($obj.attr("id")=="b2")
            {    time=--time2;
                if(time<=0){
                    time1=60;
                    $obj[0].disabled=!$obj[0].disabled
                    clearInterval(inter2)
                    $obj.text("点击发送")
                    return
                }
            }
            $obj.text(time+"秒后重新发送")
        }    $(function(){
            $(".cd").bind("click",function(){
                $this=$(this);
                //没有被禁用时禁用并执行倒计时
                if(!$this[0].disabled){
                    $this[0].disabled='disabled';
                    if($this.attr("id")=="b1"){
                        inter1=setInterval(function(){countDown($this)},1000)
                    }
                    if($this.attr("id")=="b2"){
                        inter2=setInterval(function(){countDown($this)},1000)
                    }            }
            })
        })
    </script>
    <button id="b1" class="cd" >点击发送</button><br>
    <button id="b2" class="cd" >点击发送</button><br>