在IE7中使用jquery slideToggle时内容消失

时间:2010-07-27 21:31:48

标签: javascript jquery css internet-explorer-7 slidetoggle

我已经多次看过这个问题,但没有看到任何答案。

我有一个ul,我正在使用带有jquery的slideToggle()进行扩展和折叠。 代码很简单:

$('#leftMenu li a.moreLess').click(function() {
    $(this).next().slideToggle('normal');   
});

标记为:

<a class="moreLess">Click here to see more</a>
<ul>
  <li>something</li>
  <li>something else</li>
  ...
</ul>

我有一个类为.moreLess的按钮,当点击它下面的列表时,它应该展开或折叠。由于某些原因,在IE 7中,一旦列表完全展开,所有内容都将消失。当它崩溃时,内容会再次出现,直到列表完全关闭。

我不确定这是否与CSS相关,但我希望有人可能会遇到此问题。 在此先感谢您的帮助!

5 个答案:

答案 0 :(得分:18)

添加 zoom:1 属性。它适用于职位:亲属。

答案 1 :(得分:10)

仅供参考,问题在于CSS定位在正在切换的UL内部元素上。一旦我删除了这些元素的任何相对和/或绝对定位,问题就不再发生了。

答案 2 :(得分:4)

overflow: hidden; 对于你拥有内容的div,它会搞砸。适合我,但它仍然是IE和IE ...

答案 3 :(得分:0)

在此页面上提出并回答了同样的问题。该解决方案由SequenceDigitale.com回答

jQuery slideDown in IE9 - content disappears after animation finishes

答案 4 :(得分:0)

在我的情况下,使用slideToggle加载的内容“向下移动”,创建了2个空白区域(仅在IE7中)

我用这个css解决了:

form {
    margin: 0;
}