javascript - 如何使用 Javascript 将内容动态加载到 DIV 中

标签 javascript jquery html css

我有一个由 5 个不同页面组成的网站。

为了保持所有页面的设计,我将主页上的代码复制并粘贴到所有其他 HTML 文档中,以确保导航框和主 div 保持在适当的位置。

我现在被要求以这样的方式实现设计:当我按下按钮时,其他 HTML 页面将动态加载到我的主索引页面上。这样,如果我需要更改页面的设计,我只需更改索引页面,而不必为我拥有的每个 HTML 文档重复这些更改。

我尝试过使用 Javascript 来实现此目的,但我想不出任何足够的方法。我根本无法理解 jQuery,如果有人清楚地了解如何使用 jQuery 或 Javascript 完成此任务,您能一步步向我解释吗?

<!DOCTYPE html>
<html>

<head>

<link rel="stylesheet"
type="text/css"
href="CSS/Index.css">

</head>
<script src="websitescript.js"> </script>
<body>
<div class="mainwrapper">
<div class="navbox"> 
<input type="image" id='about' src='images/about.jpg' 
onclick="myFunction()"> </a> 
<a href="location.html"> <img src='images/location.jpg' class="location"> 
</a> 
<input type="image" id='contact' src='images/contact.jpg' 
onclick="myFunction()"> </a> 

<a href="inquiries.html"> <img src='images/inquiries.jpg' class="inquiries"> 
</a>

<a href="employees.html"> <img src="images/employees.jpg" class="employees"> 
</a>

</div>

<img src="images/duo.jpg" class='logo'>

<div id="header"> 

</div>
</div>

最佳答案

您想要做的是使用 AJAX 加载内容(XmlHttpRequest)。这意味着,您只有一个带有布局的页面,并且无需重新加载页面即可加载内容/其他页面。

为此,您可以使用 jQuery .load()功能。太;博士;你要做的就是将网站内容作为简单的 html 文件,没有布局(标题等),然后使用 ajax 将其加载到页面中。

主页index.html的内容可能如下所示(我删除了导航栏中的那些图像)

<div class="mainwrapper">
  <div class="navbox" id="js-navigation">
    <a href="./about.html">About</a>
    <a href="./location.html">Location</a>
    <a href="./contact.html">Contact</a>
    <a href="./inquiries.html">Inquiries</a>
    <a href="./employees.html">Employees</a>
  </div>

  <div id="header"></div>

  <div id="js-content">
    <!-- content will be loaded here -->
  </div>
</div>

<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
<script>
  $(document).ready(function() {
    $('#js-content').load('/about.html');

    $('#js-navigation a').click(function(e) {
      e.preventDefault();
      $("#js-content").load(e.target.href);
    })
  });
</script>

因此,在同一个文件夹中,您将拥有其他内容文件,但没有导航、包装标题等。只是简单的内容,例如:

<h1>About page</h1>
<p>Lorem Ipsum</p>

关于javascript - 如何使用 Javascript 将内容动态加载到 DIV 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45030059/

相关文章:

javascript - 带有 Chrome 的 CORS XSL

javascript - 有没有类似谷歌地图的图表?

javascript - 我可以给 jQuery 变量一个类,然后更改该类的字体颜色吗

javascript - 使用模板获取和设置所选选项

css - 如何阻止我的 Feedback Div 停止改变屏幕分辨率的位置?

javascript - 如何在javascript中使用文字类调用另一个类对象

javascript - 当不同的链接包含相同的词时,用链接替换词

javascript - jquery 在 div 翻转时交换图像

html - 根据页面大小将 Iframe 宽度和高度设置为 100% 无效

html - 我可以使用 svg 图像(即 xml)作为 list-style-image CSS 属性吗?