jQuery在函数之间切换 - 执行零,一,二,三......次

时间:2012-04-11 02:09:56

标签: jquery function toggle

我正在尝试使用jQuery切换来在两个函数之间移动。到目前为止的结果是不完整的。以下是试用场景的完整代码。

<html>
<head>
  <script type="text/javascript" src="../js/jquery.js"></script>
  <script>
  $(document).ready(function(){
     $('#id').on('click',function(event){
         $(this).toggle(
             function(){console.log('Hide');},
             function(){console.log('Show');}
         );
     });
  });
  </script> 
</head>

<body>
  <div id="id">Hello</div>
</body>
</html>

因此,当我第一次点击“Hello”时,日志中没有任何内容。

[Nothing]

第二次点击,我得到:

Hide

第三,它补充道:

Show
Hide

第四,它补充说:

Hide
Show
Hide

第五,它补充说:

Show
Hide
Show
Hide

我相信你可以看到模式:)为什么这样做?我已尝试.stop(true),但无济于事。

感谢。

1 个答案:

答案 0 :(得分:4)

单击执行

toggle(),因此您不需要click事件包装器。

$('#id').toggle(
         function(){console.log('Hide');},
         function(){console.log('Show');}
     );

当前代码附加toggle()以在第一次点击click事件时触发,这就是您第一次点击该元素时没有得到任何内容的原因。