<td class="left">验证码:</td>
<td><input name="captcha" type="text" id="captcha" /> <a class="sendcaptcha" href="/?index=sendmail/captcha">获取验证码</a></td>js:
$(".sendcaptcha").click(function() {
$(this).hide();
setTimeout("$(this).show()",5000);
……想让上面那个获取验证码点击后,五秒之后才能再次使用,但是用了上面的方法之后,他不再出现了,而且firebug里面会报jquery1.4里面出错,请问怎样写JS才能实现这种功能,最好是只设置成不可用,但可见。

解决方案 »

  1.   


    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="gb2312" />
    <title></title>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <style>

    </style>
    </head>
    <body>
    <a href="#" id="a">123</a>
    <script>
    var fn = function(){
    alert(123)
    }
    $('#a').click(function(){
    fn();
    $(this).unbind('click');
    setTimeout(function(){
    $(this).bind('click', fn);
    }, 5000)
    })
    </script>
    </body>
    </html>
      

  2.   


    <input id="btn" type="button" value="test-btn">
    <a id="myauthor" href="#">test</a>
    <script type="text/javascript">
    $('#btn').click(function(){
        $('#myauthor').hide().delay(800).fadeIn();
    })
    </script>
      

  3.   

    谢谢两位的解答。问题已解决
    $(".sendcaptcha").click(function() {
    $(this).hide();
    $(".warning").show();
    setTimeout(function(){
    $(".warning").hide();
    $(".sendcaptcha").show()},4000);
    ……
    想到一种替代方法,呵呵