javascript - 导航栏和 AJAX 加载

标签 javascript jquery html css

我有以下设置:

一个 ma​​in-page.php 由以下部分组成:

1) 标题

2) 导航栏

3) 内容(在 <div id="dynamic-content"></div> 中加载)

4) 页脚

在导航栏中,您可以找到多个选项(例如,关于我们、联系我们等)。

假设负责“关于我们”的脚本名为 about-us.php

我想要实现的是在我按下“关于我们”后立即在内容区域(也称为动态内容 div)内加载 about-us.php 页面的输出按钮(#about-us div)。

为了实现这一点,我使用了以下 AJAX 调用:

AJAX 调用

$("#about-us").on('click', function(){

   $.ajax({
              url: "about-us.php",
              success: function(output){

                   $("#dynamic-content").html(output);

              }
         });

});

ma​​in-page.phpabout-us.php 都包含它们自己的 CSS 和 JavaScript 文件:

ma​​in-page.jsma​​in-page.css 包含在 main-page.php 中

about-us.jsabout-us.css 包含在 about-us.php 中

问题:

about-us.php 的 CSS 和 Javascript 文件的正确使用方法是什么? 我应该将它们包含在 about-us.php 脚本中还是将它们包含在 ma​​in-page.php 中?

当我将它们包含在 about-us.php 中时,我从控制台收到一条警告,说“主线程上的同步 XMLHttpRequest 已被弃用,因为它对最终用户的体验有不利影响”。 p>

此时我不得不提到 about-us.js 有更多的 AJAX 请求..

提前致谢。

最佳答案

最佳做法是将您的 JS 和 css 包含在 main-page.php 中。正如您提到的,关于我们导航只会更改动态内容,那么它应该只会更改数据。在此之前应加载所有脚本和样式表。

关于javascript - 导航栏和 AJAX 加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29410226/

相关文章:

javascript - 比较选择框时序

javascript - jQuery 绑定(bind)触发多次?

jquery - "Change header background colour when page scrolls"的问题

javascript - 如何使用 Angular JS 将一个模型绑定(bind)到多个输入

javascript - javascript 循环,旋转木马图像 div 不工作

jquery - 异步加载完整 Div 的内容

javascript - HTML 打开弹出窗口,无需用户点击

javascript - 非常简单的 Chrome 扩展来显示警报

javascript - 将鼠标悬停在多个 div 之一上并延迟,然后下拉子 div

javascript - 当元素上有多个类时触发按钮单击事件