IE7 的 jQuery Accordion 和背景颜色问题

发布于 2024-12-10 14:19:32 字数 373 浏览 0 评论 0原文

我在 IE7 中遇到 jQuery Accordion Control 问题。

手风琴工作正常,直到我向包含元素添加背景颜色样式。

有没有人仍然使用 IE7 可以弄清楚为什么这是一个问题?

我创建了一个 jsFiddle 来测试问题:
http://jsfiddle.net/SrQUM/10/

当我单击顶部手风琴之一时,动画一切都搞砸了。 当我单击底部手风琴之一时,一切都动画得很好。 当我展开其中一个元素时,基本上看起来第二个 h3 没有移动到正确的位置。

(我在每个部分都使用手风琴,因为我希望能够一次展开多个项目)。

I am having an issue with jQuery Accordion Control in IE7.

The accordion works fine until I add a background-color style to the containing element.

Does anyone have IE7 still that can figure out why this is a problem?

I created a jsFiddle to test the problem:
http://jsfiddle.net/SrQUM/10/

When I click one of the top accordions the animation is all screwed up.
When I click one of the bottom accordions everything animates just fine.
It basically looks like the second h3 doesn't move to the proper location when I expand one of the elements.

(I am using an accordion for each section because I want to be able to expand multiple items at once).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

多像笑话 2024-12-17 14:19:32

我能够解决这个问题。我不喜欢这个解决方案,但它确实有效,希望 IE7 支持很快就会被淘汰。

问题是,当手风琴展开时,手风琴之后的第一个元素永远不会被按下。解决方法是在手风琴后面添加一个高度为 0 的虚拟 div:

<div id="accordion">
    <h3><a href="#">Header</a></h3>
    <div>
        <p>Some Content</p>
    </div>
</div>

<p>Some Content Here</p>
<p>Some More Content</p>

第一段从未移动,但第二段却移动了。所以我将其添加到我的代码中:

<script type="text/javascript">
    $(function() {
        $('#accordion').accordion().after('<div class="accordion-clear"></div>');
    });
</script>

并包含一种样式:

.accordion-clear { height: 0px; clear: both; }

这似乎使一切正常。

I was able to get this resolved. I'm not in love with the solution but it works, and hopefully IE7 support will be phased out soon here.

The issue was that the FIRST element after the accordion was never getting pushed down when the accordion was expanded. The fix was to add a dummy div with a 0 height after the accordion:

<div id="accordion">
    <h3><a href="#">Header</a></h3>
    <div>
        <p>Some Content</p>
    </div>
</div>

<p>Some Content Here</p>
<p>Some More Content</p>

This first paragraph was never moved, but the second one was. So I added this to my code:

<script type="text/javascript">
    $(function() {
        $('#accordion').accordion().after('<div class="accordion-clear"></div>');
    });
</script>

And include a style:

.accordion-clear { height: 0px; clear: both; }

This seemed to make everything work okay.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文