Jquery手风琴高度溢出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jquery手风琴高度溢出相关的知识,希望对你有一定的参考价值。

我有一个jquery(v 1.11.4)ui手风琴,它会在打开时以不同的客户订单(不同长度)进行调整。我遇到的问题是因为创建手风琴时内容不存在,高度没有正确设置,内容与下面的手风琴重叠。

我尝试在True / False之间更改autoheight,在内容,填充,面板,自动,“内容”和“面板”之间更改heightStyle,并同时使用它们以防万一。

html

<div id="orders-accordion" class="account-details">
  <xsl:for-each select="//orderhistory/row">
    <div class="order-wrapper">
      <div class="order-accordion-header property-list" data-oid="{@orderid}">
        <ul>
          <li class="order-no">
            <span class="property-label">Order  No.</span>
            <span class="property-value">
                                            <xsl:value-of select="@orderid"/>
                                        </span>
          </li>
          <li class="order-date">
            <span class="property-label">Order Date</span>
            <span class="property-value">
                                                <xsl:value-of select="@orderdate"/>
                                        </span>
          </li>
          <li class="order-current-status">
            <span class="property-label">Order Status</span>
            <span class="property-value">
                                            <xsl:value-of select="@orderstatus"/>
                                        </span>
          </li>
        </ul>
      </div>
      <div class="order-info" style="display:none">
        <!-- Order Detail Ajaxed into here -->
      </div>
    </div>
    <xsl:if test="position()=1">
      <script>
        bindClickToOrderBox('showTopBox');

      </script>
    </xsl:if>
  </xsl:for-each>
</div>

JS

if ($('#orders-accordion').length > 0) {
  // Accordionise the Orders in the Order History
  $('#orders-accordion').accordion({
    //active: 0,
    header: ".order-accordion-header",
    collapsible: true,
    //autoHeight: true,
    heightStyle: "panel"

  });
}

function bindClickToOrderBox(showTopBox) {
  $('.order-wrapper div').click(function() {
    var content = $(this);
    $(content).siblings('.order-info').html('<div class="order-loading"></div>').show();

    $.ajax({
      url: 'default.aspx',
      data: 'Z=C&rnd=&serveas=ajax&action=history&oid=' + $(this).data('oid'),
      success: function(xhr) {
        $(content).siblings('.order-info').html(xhr);
        $('[name="tax-invoice-button"]', $(content).siblings('.order-info')).click(function() {
          $('#order_invoice_' + $(this).data('orderid')).attr('src', '/default.aspx?Z=C&action=history&oid=' + $(this).data('orderid') + '&mode=print');
        });
      }
    });
  });
  if (showTopBox) {
    var topOrderDiv = $('.order-wrapper div:first');
    $.ajax({
      url: 'default.aspx',
      data: 'Z=C&rnd=&serveas=ajax&action=history&oid=' + topOrderDiv.data('oid'),
      success: function(xhr) {
        topOrderDiv.siblings('.order-info').html(xhr).show();
        $('[name="tax-invoice-button"]', $(topOrderDiv).siblings('.order-info')).click(function() {
          $('#order_invoice_' + $(this).data('orderid')).attr('src', '/default.aspx?Z=C&action=history&oid=' + $(this).data('orderid') + '&mode=print');
        });
      }
    });
  }
}
答案

尝试在修改手风琴内容的ajax调用后添加手风琴刷新,如下所示:

$("#orders-accordion").accordion("refresh");

这应该调整页面上的手风琴大小,使其内容不会溢出到它后面出现的任何元素。

以上是关于Jquery手风琴高度溢出的主要内容,如果未能解决你的问题,请参考以下文章

jQuery动画高度和溢出

jquery实现比较靠谱的手风琴代码

jQuery+Bootstrap手风琴折叠菜单代码

与 mmenu 冲突的 JQuery 手风琴菜单 - JQuery 1.4 与 1.7

如何在 jQuery 中编写手风琴式 JavaScript

214 jQuery案例:王者荣耀手风琴效果