延迟页面重新加载,直到jquery脚本完成它的工作

时间:2013-06-25 18:31:00

标签: jquery jquery-ui-accordion

我为我的妻子制作简单的网页。

我将此脚本用作菜单:http://www.designchemical.com/lab/jquery-vertical-accordion-menu-plugin/examples/

因为我不想在点击菜单后重新加载整个页面,所以我使用pjax方法(ajax + pushState

指向发生问题的网页的链接:http://sk-architekci.pl/sknowy2/ (请在IE中打开并单击左侧菜单中的“PROJEKTY”,然后在Firefox中执行相同操作)

我的问题:

在支持pushState方法的浏览器中,一切都运行良好(是的IE不支持它)。在IE中,当我点击菜单中的某个链接时,除了IE之外的每个浏览器,菜单都会慢慢扩展,内容会加载到正确的div中。

在IE中,当我点击菜单中的某个链接时,由于整个页面重新加载,脚本无法完成其工作。菜单正在跳跃而不是慢慢重新加载。

我的问题:

有没有办法延迟页面重新加载,直到菜单脚本完成其工作?或许还有其他一些“肮脏”而且不优雅但有效的解决方案。

我的JS:

$(document).ready(function ($) {
    $('#accordion-1').dcAccordion({
        eventType: 'click',
        autoClose: true,
        saveState: true,
        disableLink: false,
        speed: 'fast',
        showCount: false,
        autoExpand: false,
        cookie: 'dcjq-accordion-1'
    });
});

我不是网络开发人员或程序员,我不太了解jquery,这就是为什么请尽可能给我简单的答案。

由于

1 个答案:

答案 0 :(得分:0)

不确定这是否有效,但您可以尝试

在头标记的开头添加:

$(function(){
  $('body').hide();
});

最后,添加:

$(document).ready(function(){
  $('body').show();
});

这会隐藏所有内容,直到完成所有脚本编写。我使用它作为闪存无格式内容的解决方法。