我正在尝试使用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)
,但无济于事。
感谢。
答案 0 :(得分:4)
toggle()
,因此您不需要click
事件包装器。
$('#id').toggle(
function(){console.log('Hide');},
function(){console.log('Show');}
);
当前代码附加toggle()
以在第一次点击click
事件时触发,这就是您第一次点击该元素时没有得到任何内容的原因。