slideToggle链接独立

时间:2012-02-03 22:18:29

标签: jquery slidetoggle

尝试让slideToggle关闭,如果已经打开,如果已经打开则不会重新打开。搜索了这个功能,但无济于事。任何帮助将不胜感激!

的jQuery

   <script>
$(document).ready(function() {
  $(".shareLink").click(function(){
$(".hideShare").hide();
  $("#"+$(this).attr('id')+'Box').slideToggle();
  return false;
  });

});
</script>

这是一个链接 http://digitalzu.net/jquery.html

2 个答案:

答案 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