Jquery手风琴问题即6

时间:2009-04-07 13:47:05

标签: jquery-ui

我使用以下选项在我的一个页面上实现了一个Jquery手风琴

$("#accordion").accordion({ header: "h3", alwaysOpen: false, active: false, autoHeight: false});

这在Firefox和ie7(now that I've upgraded to v1.7 of jquery ui

中非常出色

然而在ie6中,几乎所有手风琴的内容都消失了(我只留下一个<select>标签显示?!)

如果我按照this answer将AutoHeight选项更改为true,那么它再次没问题,除了我失去了手风琴尺寸很好的好处,其中一些有很多空白区域

是否有人知道修复程序以便我仍然可以使用AutoHeight = false?

5 个答案:

答案 0 :(得分:14)

添加.ui-accordion-content {zoom:1;我的CSS修复了我的问题:

<link type="text/css" href="css/dark-hive/jquery-ui-1.7.2.custom.css" rel="stylesheet" />   
<style type="text/css">
        .ui-accordion-content{ zoom: 1; } 
</style>

答案 1 :(得分:6)

面对同样的问题,我找到了一个适用于所有浏览器的解决方案,无需更改autoHeight参数。

只需在您的css中添加一个类:

* html .clearfix { height: 1%; }

然后将其添加到h3之后的内容div中(如下所示:)

<h3>Header</h3>
<div class="clearfix">Whatever</div>

问题实际上是隐藏文本呈现的IE6问题。我已经在包含无序列表和复杂嵌套div等内容上测试了它,一切正常。如果这样做的话,请告诉我!

答案 2 :(得分:1)

我遇到了同样的问题。虽然手风琴在ul方面效果很好,但我发现这篇文章是关于如何在不使用的情况下制作表格。

http://mindrulers.blogspot.com/2008/03/create-table-using-css.html

希望这有帮助。

答案 3 :(得分:1)

该问题似乎与IE6渲染错误有关。这解决了我的问题。

// This is required for IE6.
if (jQuery.browser.msie && jQuery.browser.version.substr(0,1)<7)
    jQuery('#accordion *').css('zoom', '1');

答案 4 :(得分:0)

我的解决方法是对IE6使用autoHeight true,对所有其他浏览器使用false。

var autoHeight = false;
if($.browser.msie && parseFloat($.browser.version) <= 7.0) { autoHeight = true; }
$("#accordion").accordion({ autoHeight: autoHeight });