1

我正在为我们的网站使用以下主题:http: //themes.vivantdesigns.com/vpad/#dashboard.html

当用户单击左侧向下钻取菜单中的链接时,我希望 ajax 加载程序向链接/选项卡显示 NEXT。正如您从链接中看到的那样,内容是在以下内容中动态加载的:

<section id="main-section">Pagename.html loaded here</section>

所以基本上,我希望 ajax 加载器显示在菜单链接的右侧,并在动态内容加载时消失。在演示链接上很难看到这种暂停,但是较重的数据库查询会导致它停在那里片刻,当然连接速度也会变慢。

非常感谢任何即时帮助。

我已经尝试过显示/隐藏 onClick 方法,在准备好的文档上隐藏类,但似乎没有什么能正常工作。

4

1 回答 1

1

好的,经过大量的努力试图找到 ajax 发生的位置,我我已经解决了(对 jQuery 不太熟悉/以前从未听说过 hashchange 或 bbq),所以试一试。

假设您可以访问它,您引用的页面包含一个名为 global.js 的 JavaScript 文件。

在每个菜单项旁边添加一个最初隐藏的“加载”图像/div/whatever,其 id 设置类似于菜单项的名称,例如 id="mediaLoading"。

打开 global.js 并转到第 117 行:

$('#'+id).length && $('#'+id).remove();

在此行之后进行 ajax 调用,因此添加代码以显示 ajax 加载器,例如

var loaderId = h.replace(/^\#/, "") + "Loading";
document.getElementById(loaderId).style.display = 'block'; 
//or $("#" + loaderId).show() or whatever you would use in jQuery

最后,要重新隐藏它,将类似的代码添加到内联“完成”函数中(现在大约在第 127 行):

complete: function(jqXHR, textStatus) { 
    document.getElementById(loaderId).style.display = 'none';
}

希望能解决它。很难在本地进行测试。

请记住,由于该文件称为“全局”,这显然可能会影响许多其他页面,因此您可能希望对加载程序或单独的文件使用空检查...

于 2012-12-05T06:59:48.187 回答