尝试让slideToggle关闭,如果已经打开,如果已经打开则不会重新打开。搜索了这个功能,但无济于事。任何帮助将不胜感激!
的jQuery
<script>
$(document).ready(function() {
$(".shareLink").click(function(){
$(".hideShare").hide();
$("#"+$(this).attr('id')+'Box').slideToggle();
return false;
});
});
</script>
答案 0 :(得分:0)
var $el = $("#"+$(this).attr('id')+'Box');
if($el.is(":hidden")){
$(".hideShare").hide();
$el.slideDown();
}
你隐藏了一切,然后向下滑动一个元素。问题是即使元素已经可见,你也是这样做的。相反,请确保它不可见,如果是,则不执行任何操作。
答案 1 :(得分:0)
它无法正常工作,因为您隐藏了包含当前框的所有hideShare
元素,因此它只是切换。
试试这个,它只会隐藏其siblings
。
$(".shareLink").unbind().click(function(){
$("#"+$(this).attr('id')+'Box')
.siblings('.hideShare')
.slideUp()
.end()
.slideToggle();
return false;
});
<强> Demo 强>