javascript - 如何使用 jQuery Accordion 创建 div

标签 javascript jquery

我正在使用这个:

<script>
    $(function() {
        $( "#accordion" ).accordion();
    });
</script>

获得展开/折叠的效果。 (如果你知道更好的插件或方法,请关注我)

我有这个div:<div id ="accordion"></div>

此代码用于在该 div 内创建一个按钮。 (不用担心按钮的内容)

$('#button_submit').click(function() 
{
$("#accordion").append(
$("<button id=saved"+j+">").click(function() {
drawChart.apply(null, myArray);
}).html("<b>Start date:</b>"+""+myArray[0]+"\n<b>End date:</b>"+myArray[1]+"\n<b>Chart type:</b>"+myArray[2]+"")
);

我的问题是,如何创建/格式化 div Accordion 以达到此效果 accordion effect jquery

<button id=saved"+j+">应出现在 sections 内.

干杯

最佳答案

Updated with Example In other words, Tested and Working

这是您需要的代码。正如我之前提到的,问题是您将按钮添加到主 div 而不是部分。

jsFiddle (working example)

Alt Example (possibly cleaner)

This one allows adding new accordion pieces (with button inside)

  • 注意:最后一个的棘手部分是您必须销毁 Accordion 并重新创建它,因此如果您有创建 Accordion 的特定选项,您可能需要将它们包装在单独的文件中函数并在销毁后立即调用它

Script

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

    $("#accordion .ui-accordion-content").each(function(i) {
        $(this).append(
            $("<button />")
                .prop("id", "saved"+j+">")
                .html("<b>Start date:</b>"+""+myArray[0]+"\n<b>End date:</b>"+myArray[1]+"\n<b>Chart type:</b>"+myArray[2])
                .on("click", function(e) {
                    drawChart.apply(null, myArray);
                })
        );
    });
})

确保您的 HTML 布局正确。

Example HTML

<div id="accordion">
    <h3>Section 1</h3>
    <div>
        <p>
        Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer
        ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit
        amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut
        odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.
        </p>
    </div>
    <h3>Section 2</h3>
    <div>
        <p>
        Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet
        purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor
        velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In
        suscipit faucibus urna.
        </p>
    </div>
    <h3>Section 3</h3>
    <div>
        <p>
        Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis.
        Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero
        ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis
        lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui.
        </p>
        <ul>
            <li>List item one</li>
            <li>List item two</li>
            <li>List item three</li>
        </ul>
    </div>
    <h3>Section 4</h3>
    <div>
        <p>
        Cras dictum. Pellentesque habitant morbi tristique senectus et netus
        et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in
        faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia
        mauris vel est.
        </p>
        <p>
        Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus.
        Class aptent taciti sociosqu ad litora torquent per conubia nostra, per
        inceptos himenaeos.
        </p>
    </div>
</div>

关于javascript - 如何使用 jQuery Accordion 创建 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13607826/

相关文章:

jquery - 使用 jquery 鼠标悬停并单击事件时 <li> 的颜色发生变化

javascript - Jquery 在我的网站上不起作用

javascript - 方括号表示法(不是指对象访问!)

javascript - javascript/nodejs 概念

css - jQuery 切换事件状态

javascript - jQuery 动态内容的点击不起作用

javascript - jQuery 如何从 anchor 中删除 id 标签

javascript - Node typescript 客户端调试

javascript - 提交 redux-form 时如何引用 prop

javascript - 如何将 D3 中的连接路径/线移动到形状的边缘