当前位置:  开发笔记 > 编程语言 > 正文

jQuery Accordion:IE动画问题

如何解决《jQueryAccordion:IE动画问题》经验,为你挑选了3个好方法。

我感觉到你的痛苦!我最近经历了一个荒谬的故障排除,我在主页和页面布局中逐块删除了所有内容(这实际上是在SharePoint中),不断减少页面.

最终结果是没有 html文档的doc类型(一些开发人员删除了它).缺少doctype意味着IE 7以怪癖模式运行,而JQuery Accordion发出的内联CSS表现得很时髦.

考虑添加:


在您的母版页或html文档的顶部(如果尚未定义doctype).

实际上有一个专门用于Quirks Mode行为的整个站点.您可以在此处查看有关Quirks模式的文章.我写了一篇帖子,其中有关于故障排除的更多周边信息.



1> Tyler..:

我感觉到你的痛苦!我最近经历了一个荒谬的故障排除,我在主页和页面布局中逐块删除了所有内容(这实际上是在SharePoint中),不断减少页面.

最终结果是没有 html文档的doc类型(一些开发人员删除了它).缺少doctype意味着IE 7以怪癖模式运行,而JQuery Accordion发出的内联CSS表现得很时髦.

考虑添加:


在您的母版页或html文档的顶部(如果尚未定义doctype).

实际上有一个专门用于Quirks Mode行为的整个站点.您可以在此处查看有关Quirks模式的文章.我写了一篇帖子,其中有关于故障排除的更多周边信息.


你是我的英雄!

2> 小智..:

与IE7中的所有问题一样,具有格式良好的标准HTML标记.最终工作的是删除autoHeight: "false"和使用clearStyle: "true".
我还创建了一个IE <8版本的手风琴初始化:

if ( $.browser.msie && $.browser.version < 8 ) {
    //ie<8 version
}
else {
    //version for the good browsers
}



3> Darko Z..:

我实际上已经避免使用手风琴插件了,因为我发现它对我的需求有点不灵活.我发现最简单,最灵活的手风琴就像:

var accordion = function(toggleEl, accEl) {
    toggleEl.click(function() {
        accEl.slideToggle(function() { });
        return false;
    });
}

对于你的例子你会像这样使用它:

$(document).ready(function() {
    new accordion($("a.accordion-label"), $("ul. linklist"));        
});

你可以使用它作为模板并构建css类添加,回调和其他有用的东西,但我发现最终这样做比使用手风琴插件更容易.

编辑:带回调函数的示例代码

var accordion = function(toggleEl, accEl, callback) {
    toggleEl.click(function() {
        accEl.slideToggle(callback);
        return false;
    });
}

$(document).ready(function() {
    new accordion($("a.accordion-label"), $("ul. linklist"), function() { /* some callback */ });        
});

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有