jQuery ui Accordion 在 IE6 或 IE7 中性能下降,但在 IE8 中工作

发布于 2024-08-27 13:52:12 字数 715 浏览 12 评论 0原文

我的页面上有两个手风琴,自定义手风琴 CSS 位于另一个文件中,通过类和 ID 名称进行区分,以免相互冲突。手风琴根本不显示,它们只是降级为一次显示所有内容,就好像所有手风琴样式都消失了一样。手风琴都是在页面中间调用的,如果使用 $(document).ready 加载它们,则没有区别。我应该在 CSS 文件中检查什么?

没有内联块用途。

我正在使用 jQuery 1.3.2.min 和 jQuery ui 1.7.2,所以我假设 autoHeight 设置为 false 不会产生影响...这是在基于 Symfony 的网站内使用的。

在 FF、IE8、Chrome 中运行良好。在IE6、IE7/IE8兼容模式下就没有那么多了。

$(function() {
    $("#accordion").accordion({
        active: false,
        autoHeight: false,
        collapsible: true,
        icons: { 'header': 'ui-icon-carat-1-e', 'headerSelected': 'ui-icon-carat-1-s', }
    });

    $(".links").accordion({
        active: false,
        autoHeight: false,
        collapsible: true,

    });
});

There are two accordions on my page, with custom accordion CSS in another file, differentiated by class and ID names so as not to conflict with each other. The accordions don't show up at all, they just degrade to showing all the content at once, as if all the accordion styling is gone. The accordions are both called around the middle of the page, and there's no difference if they are loaded with $(document).ready. What should I check for in the CSS files?

There are no inline-block uses.

I am using jQuery 1.3.2.min and jQuery ui 1.7.2, so I'm assuming the autoHeight set to false won't make a difference... This is being used inside a Symfony-based site.

Works fine in FF, IE8, Chrome. Not so much in IE6, IE7/IE8 compatibility mode.

$(function() {
    $("#accordion").accordion({
        active: false,
        autoHeight: false,
        collapsible: true,
        icons: { 'header': 'ui-icon-carat-1-e', 'headerSelected': 'ui-icon-carat-1-s', }
    });

    $(".links").accordion({
        active: false,
        autoHeight: false,
        collapsible: true,

    });
});

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

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

发布评论

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

评论(2

栀子花开つ 2024-09-03 13:52:12

嗯,是的。死亡逗号。已删除并且工作正常。

$(function() {
    $("#accordion").accordion({
        active: false,
        autoHeight: false,
        collapsible: true,
        icons: { 'header': 'ui-icon-carat-1-e', 'headerSelected': 'ui-icon-carat-1-s' }
    });

    $(".links").accordion({
        active: false,
        autoHeight: false,
        collapsible: true

    });
});

Um, yeah. Comma of death. Removed and works fine.

$(function() {
    $("#accordion").accordion({
        active: false,
        autoHeight: false,
        collapsible: true,
        icons: { 'header': 'ui-icon-carat-1-e', 'headerSelected': 'ui-icon-carat-1-s' }
    });

    $(".links").accordion({
        active: false,
        autoHeight: false,
        collapsible: true

    });
});
夜清冷一曲。 2024-09-03 13:52:12

死亡和 Internet Explorer 的尾随逗号可能是真正的痛苦。您可以尝试在项目中运行正则表达式搜索,用于

,\s*?\]|,\s+}

在项目中查找这些尾随逗号。

在你的情况下,它是“collapsible: true”后面的逗号

    $(".links").accordion({
        active: false,
        autoHeight: false,
        collapsible: true // removed comma

    });

Trailing comma of death and Internet Explorer can be a real pain in the **s. You can try and run a regex search through your project using

,\s*?\]|,\s+}

for finding these trailing comma's in your project.

In your case it was the comma right behind "collapsible: true"

    $(".links").accordion({
        active: false,
        autoHeight: false,
        collapsible: true // removed comma

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