【问题标题】:jQuery accordion panel wont collapsejQuery 手风琴面板不会崩溃
【发布时间】:2013-10-08 00:36:45
【问题描述】:

目标是让每个部分都以折叠状态开始。面板 0 和 2 都以折叠状态开始,但面板 1 不会以折叠状态开始,而是在单击时折叠。面板 1 使用一个 iframe,其中包含导入网站的实时 Twitter 提要。

以下代码示例:

HTML:

<div class="accordion">
    <div class="testimonials col-md-6 col-lg-6">
        <h1>section 1</h1>
        <p>this is a div</p>
    </div>
    <div class="social col-sm-6 col-md-3 col-lg-3">
        <h1>section 2</h1>
        <a class="twitter-timeline" width="100%" data-chrome="transparent noscrollbar" href="https://twitter.com/xxxxxx" data-widget-id="999999">
            Tweets by @xxxxxx
        </a>
    </div>
    <div class="news col-sm-6 col-md-3 col-lg-3">
        <h1>section 3</h1>
        <p>this is a div</p>
    </div>

 the javascript

 <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
    </script>

 <script type="text/javascript">
        // <![CDATA[
        var $ = jQuery.noConflict(); $(document).ready(function()
        { 

            $(".accordion").accordion({
                active: false,
                collapsible: true,
                header: "h1"
            });

            //getter variables
            var active = $(".accordion").accordion("option","active");
            var collapsible = $(".accordion").accordion("option","collapsible");
            var header = $(".accordion").accordion("option","header");

            $('.carousel').carousel({ interval: 4000, cycle: true }); 
        }); // ]]>

【问题讨论】:

  • 你的原始代码中有脚本标签,不是吗:\?
  • 你的真实代码中真的有r code here吗?
  • 是的,我在原始代码中确实有脚本标签
  • 有什么问题? jsfiddle.net/dcRQr
  • 哈哈哈我看到你了@LeeTaylor 我忘了把它拿出来

标签: jquery html css jquery-ui twitter-bootstrap-3


【解决方案1】:

我觉得你应该有这个表格

 <h3>Section 1</h3>
<div>
body 
</div>

正文是隐藏的,要访问它,您需要一个标题

【讨论】:

  • 你能不能再解释一下你的答案
  • 这种特定的安排并不是必须的。
  • 它最初是一个 div,这就是为什么文本说这是一个 div 我测试了 p 标签,它们工作得很好。
【解决方案2】:

我想通了。每个标题之后是包含内容的标签。如果你想让内容正确,你需要一个块级元素。之后,您可以使用 heightStyle 变量手动设置高度。 如果您遇到此问题,请确保标头的兄弟是块级元素。

例如

<div class="accordion">
<div class="testimonials col-md-6 col-lg-6">
    <h1>section 1</h1>
    <p>this is a div</p>
</div>
<div class="social col-sm-6 col-md-3 col-lg-3">
    <h1>section 2</h1>
    <div class="social-wrap">
         <a class="twitter-timeline" width="100%" data-chrome="transparent noscrollbar" href="https://twitter.com/xxxxxx" data-widget-id="999999">
        Tweets by @xxxxxx
         </a>
     </div>
</div>
<div class="news col-sm-6 col-md-3 col-lg-3">
    <h1>section 3</h1>
    <p>this is a div</p>
</div>

【讨论】:

    【解决方案3】:

    jQuery UI 手风琴插件不允许您折叠所有区域。根据定义,手风琴总是显示一个扩展区域。如果您希望能够折叠所有区域,那么您不想使用手风琴,而是想要创建可折叠区域。

    【讨论】:

    • 不正确。请参阅 jQueryUI 文档中的 the collapsible demo
    • 不完全是因为这就是我将可折叠设置为 true 的原因。我在所有可折叠区域都设置了 p 标签时工作,但当我设置 iframe 时它不起作用
    • 有趣。这一定是一个相对较新的功能。 2010 年左右的手风琴版本没有这个功能。感谢您指出这一点:-)
    • 我很确定它确实有这个功能,虽然它以前被称为 alwaysOpen 或类似的东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-22
    • 2015-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多