有人可以解释一下Jquery Accordion UI的工作原理吗?

时间:2016-03-01 06:36:23

标签: jquery user-interface accordion

我认为如果我用H3标题标记我的代码并正确应用jquery ui手风琴,那么H3标题就会变得可点击,点击它们会交替隐藏或显示标题下的内容。

我说错了吗?因为它似乎对我不起作用。点击它们后,我的标题消失了。

...所以我去官方的jquery ui手风琴网页寻找答案(http://api.jqueryui.com/accordion/#option-header),我读了这样的乱语:

“标题...... 类型:选择器...... 默认值:“> li>:first-child,>:not(li):even” 标题元素的选择器,通过主折叠元素上的.find()应用。内容面板必须是其关联标题后的兄弟。“

用简单的语言来说,这是什么意思?我如何构建我的内容以便jquery UI手风琴可以工作?

签名, 非常沮丧

P.S。下面是一些HTML,下面是Jquery脚本。我如何构造该HTML以使其与该脚本一起正常工作?

<div id="accordion">
<h2>Section 1</h2>

Here's some content.

<h2>Section 2</h2>

Some more content.

<h2>Section 3</h2>

Yet more content.

<h2>Section 4</h2>

Even more content.
</div>

这是脚本:

  $(function() {
$( "#accordion" ).accordion({
});
  });

2 个答案:

答案 0 :(得分:0)

您链接的页面有一个示例:

<div id="accordion">
    <h3>First header</h3>
    <div>First content panel</div>
    <h3>Second header</h3>
    <div>Second content panel</div>
</div>

jQuery允许您为header元素选择自己的选择器,但它也有合理的默认值。

对于上面的示例,您可以将选择器提供为“h3”:

$("#accordion").accordion({
    header: "h3"
});

JSFiddle:https://jsfiddle.net/07bske68/

为了让你的工作,你需要将内容包装在一些描述的标签中,对于这个例子可能是div

<div id="accordion">
    <h2>Section 1</h2>
    <div>Here's some content.</div>

    <h2>Section 2</h2>
    <div>Some more content.</div>

    <h2>Section 3</h2>
    <div>Yet more content.</div>

    <h2>Section 4</h2>
    <div>Even more content.</div>
</div>

然后使用“h2”作为标题的选择器:

$("#accordion").accordion({
    header: "h2"
});

JSFiddle:https://jsfiddle.net/j79d76ss/

最后注意事项:实际上可以让你的工作没有提供标题,我只是这样做,以使事情更清楚。关键是你的内容没有任何东西包装。你可以使用:

$("#accordion").accordion();

获得相同的效果。

答案 1 :(得分:0)

问题在于您的手风琴标记,每个部分的内容需要如下,否则它将无法正常工作

HTML CODE:

NSDateFormatter* df = [[NSDateFormatter alloc] init];
df.calendar = [NSCalendar currentCalendar];
df.dateStyle = NSDateFormatterMediumStyle;
[df setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZZ"];
NSDate* tDate = [df dateFromString:@"2009-10-09 08:39:20 +0000"];

Live demo on JSFiddle

jQuery Accordion API