1

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

我使用这个脚本作为菜单: 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 之外的所有浏览器中,当我单击菜单中的某个链接时,菜单会慢慢展开,内容会加载到正确的 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,这就是为什么如果可能的话请给我简单的答案。

谢谢

4

1 回答 1

0

不确定这是否可行,但您可以尝试的是

在你的 head 标签的开头添加这个:

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

最后,添加以下内容:

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

这将隐藏所有内容,直到完成所有脚本。我将其用作无样式内容闪存的解决方法。

于 2013-06-25T18:52:15.407 回答