0

我有一个显示列表的基本 jquery 手风琴。在当前场景中,我希望通过单击按钮隐藏一些内容,并在再次单击按钮时再次可见。例如。

1) Title 1
2) Title 2
3) Title 3
4) Title 4

<input type='button' value='show/hide'>

我希望标题 2 在用户单击按钮时隐藏和可见。

我用过

document.getElementById("sec2").style.display == "block"

这样做手风琴变得隐藏和可见,但结构受到损害。即它在“Title 2”打开时可见,而我希望它关闭。

它是标准的 Jquery 手风琴。

<div id="accordion">
  <h3 id='sec1'>Section 1</h3>
  <div id='div1'>
    <p>
    Title 1.
    </p>
  </div>
  <h3 id='sec2'>Section 2</h3>
  <div id='div2'>
    <p>
     Title .
    </p>
  </div>
</div>
4

4 回答 4

0

您应该尝试以下操作(使用可折叠选项 true):

$('#accordion').accordion( "activate" , 2)

在这里查看更多信息:http: //docs.jquery.com/UI/API/1.8/Accordion

于 2013-04-24T14:17:17.993 回答
0

嘿伙计们,感谢您的回复,但一切似乎都不起作用,所以我终于决定静态解决这个问题。以下是我尝试过的。

$(function() {
  for(var i = 3; i>=0; i--)
  {
    $( "#accordion" ).accordion({
     active: i,
    });
  }
});

这最终会成功,关闭所有 div 并让顶部保持打开状态,而且动画效果也很好......;)

于 2013-04-25T05:07:08.537 回答
0

尝试这个:

<input type='button' id="myButton" value='show/hide'>
$("#myButton").click(function () {
  $("#sec2").toggle();
  $("#accordion").accordion("option", "active", false);
  //or use $("#accordion").accordion("option", "active", index); to select the option you want to be active
});
于 2013-04-24T14:20:46.157 回答
0

您可以在1.9.xtoggle之前的 jquery中使用:参见Demo

$("#btnToggle").toggle(function(){
    $("#div2>p").hide();
}, function(){
    $("#div2>p").show();
});
于 2013-04-24T14:33:53.077 回答