【问题标题】:Jquery slideDown/slideUp code only works after CTRL+F5?Jquery slideDown/slideUp 代码仅在 CTRL+F5 后有效?
【发布时间】:2013-01-08 22:28:50
【问题描述】:

这个问题困扰了我好几个小时,希望有人能帮助我。

我有以下代码,用于打开和关闭递归 UL 菜单。它适用于任何地方,除了 IE9。但是,它仅在我使用 CTRL+F5 刷新页面时才有效。如果我不使用 CTRL+F5 刷新,我会收到一堆错误,如下所示:

  • SCRIPT5022:DOM 异常:SYNTAX_ERR (12); (参考 if (currentLink))
  • SCRIPT5022:DOM 异常:SYNTAX_ERR (12); (参考currentLink.parent().find)

有人知道这里发生了什么吗?

    $('.groups').find('li:has(ul)').find('.uitklapTrigger').click(function(){
    var currentLink = $(this);
    if (currentLink.parent().find('ul').first().is(":hidden")){
        currentLink.children('.plmin').html('-');
        currentLink.parent().find('ul').first().slideDown('slow');
    } else {
        currentLink.parent().find('ul').first().slideUp("slow", function(){
            currentLink.children('.plmin').html('+');
        });
    }

    return false;
});

【问题讨论】:

  • 无论如何让你在FIDDLE复制它?
  • 我试过了,但是要剥离的代码实在太多了。在网站的多个页面上发生的情况是,我在通常可以正常工作的简单 jquery 代码上遇到奇怪的错误。它只发生在(多个)IE9 中,我需要 CTRL+F5 才能让一切再次正常运行。例如 $(this).slideUp("slow", function(){ alert('test') });只在ctrl+f5后有效,只允许动画没有oncomplete回调。
  • .groups 下的结构太大?有多个这些元素吗?你能举一个例子吗?
  • 听起来您的代码可能以错误的顺序下载。确保所有内容都在 <head> 中,将您的代码包装在 $(document).ready 中,并将 jquery.js 放在其他任何内容之前。
  • @wirey 有多个 .groups 项目,但这不是问题,因为问题也发生在其他页面上的简单动画上。

标签: javascript jquery dom internet-explorer-9


【解决方案1】:

答案很明确。它与某些 IE9 设置有关。奇迹般地,我测试过的电脑都有一些奇怪的(宏碁出厂默认)浏览器设置。我已经重置了浏览器设置,问题就解决了……谢谢大家。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    相关资源
    最近更新 更多