只有在第二次点击“.areaCodeList”时,我才会如何slideUp()内容?
$(".areaCodeList").on('click', function() {
$(this).next('.churchList').slideDown();
($this.die());
$('.churchList').slideUp();
});
答案 0 :(得分:0)
在运行代码
之前,您可以使用某个类来表明它已被点击$(".areaCodeList").on('click', function() {
if (!$(this).is('.clicked')){
$(this).addClass('clicked');
return false;
}
$(this).next('.churchList').slideDown();
$(this).die();
$('.churchList').slideUp();
});
您也可以考虑使用属性($(el).attr('clicked')
)而不是类,然后以类似的方式检查它。
<强>更新强> 问题标题真的令人困惑,似乎只有我们中的许多人(回答这个问题)从一开始就没有得到它:
最初我得到了这样的话:
如果第二次单击,则向上滑动元素。 如果是这种情况,那么我提供的样本是正确的。
但看起来问题更像是这样:
在每次偶数点击时向下滑动元素,并在每次奇怪的点击时向上滑动。
如果是slideToggle
是解决方案的情况(如epascarello's answer中所述)
答案 1 :(得分:0)
您应该使用slideToggle()
$(".areaCodeList").on('click', function() {
$(this).next('.churchList').slideToggle();
});
答案 2 :(得分:-1)
您可以检查.churchList是否可见(向下滑动):
$(".areaCodeList").on('click', function() {
if( $(this).next('.churchList').is(':visible') === true){
$(this).next('.churchList').slideUp();
}else{
$(this).next('.churchList').slideDown();
}
});