【问题标题】:Custom accordion - using each定制手风琴 - 使用每个
【发布时间】:2008-11-23 01:08:26
【问题描述】:

我正在尝试为我的页面创建一个自定义手风琴来显示我的帖子。我有它使用 HTML 的列表格式,当您单击每个标题以展开以显示更多信息时,我正在尝试创建效果。

但我不想为页面上的六个 <li> 元素说六个代码块。

有没有办法通过 .each(); 运行它可能?而不是创建每个部分?尝试更动态的方法。

【问题讨论】:

    标签: jquery accordion


    【解决方案1】:

    你看过this tutorial吗?

    因为,作为example illustrates,不需要多个条件即可实现。

    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
    $(document).ready(function()
    {
      //hide the all of the element with class msg_body
      $(".msg_body").hide();
      //toggle the componenet with class msg_body
      $(".msg_head").click(function()
      {
        $(this).next(".msg_body").slideToggle(600);
      });
    });
    </script>
    

    加载页面时,所有类名为“msg_body”的元素都会折叠。

    jQuery 的“slideToggle()”函数用于展开和折叠类“msg_body”的“div”。

    当用户点击类“.msg_head”的元素时,旁边带有类“msg_body”的div,会被切换为滑动效果,使用jQuery制作切换面板。

    【讨论】:

    • 哦,哇。这比我想象的要简单得多。让我试试这个。那么 next() 是使这项工作发挥作用的主要部分吗?那么 .msg_head 是您单击以打开面板的元素吗?瑞安
    • 而不是使用 javascript (jQuery) 隐藏类 msg_body...使用 css (display:none)
    • 是的,msg_head 是与每个标头关联的类。相关函数将切换每个 msg_body 元素的可见性
    • 附带说明,您应该将此“答案”作为对我的答案的评论。答案只能用于……实际答案;)
    • next() 允许 JQuery 在单击“msg_head”后访问下一个“msg_body”元素,以便仅切换右侧的“msg_body”。
    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多