如何使用jquery.load()在内容之前加载页眉和页脚
我使用如何使用jquery.load()在内容之前加载页眉和页脚,jquery,html,Jquery,Html,我使用jquery.load()方法将页眉和页脚调用到不同的页面中。但是在加载页面时,页脚和页眉会延迟。也就是说,当我运行这个“我的内容…”时,只有标题显示在后面。我想同时显示页眉、内容和页脚加载。你能帮帮我吗 <html> <head> <script> $(document).ready(function() { $("#header").load("header.html")
jquery.load()
方法将页眉和页脚调用到不同的页面中。但是在加载页面时,页脚和页眉会延迟。也就是说,当我运行这个“我的内容…”时,只有标题显示在后面。我想同时显示页眉、内容和页脚加载。你能帮帮我吗
<html>
<head>
<script>
$(document).ready(function() {
$("#header").load("header.html");
$("#footer").load("footer.html");
});
</script>
</head>
<body>
<div id="header"></div>
<div id="content">My content comes here...</div>
<div id="footer"></div>
</body>
</html>
$(文档).ready(函数(){
$(“#header”).load(“header.html”);
$(“#footer”).load(“footer.html”);
});
我的内容在这里。。。
“有延迟”
移除文档就绪包装,这将暂停,直到在DOM中呈现页面,然后再执行加载方法
现在,将脚本块从头移到DIV之后(就在/BODY之前),就像jqueryapi文档中提供的这个示例一样。。
尽管您可以按照Aaron H的建议使用jQuery,但会有延迟,因为您要从服务器打开三个HTTP流,一个用于正文,一个用于页眉和页脚 更好的答案是使用服务器端包含,这样页眉、内容和页脚就可以作为一个流交付,正如Justinas在对您的问题的评论中所建议的那样 一种方法是使用PHP:
<div id="header">
<?php include "header.html"; ?></div>
你的页脚也是如此。您必须将主文件的扩展名更改为“.php”,并在服务器上启用php才能工作
服务器端包含还有其他机制。最好的方法取决于您的web服务器环境
编辑添加:如果您考虑浏览器中发生的事情,它可能会帮助您解决此问题。如果使用客户端代码加载页眉和页脚,则在DOM中出现保存页眉和页脚的div之前,无法进行加载。因为它们是“main”文档的一部分,所以在客户端,您无法在主体之前加载标题。(嗯……您可能会制作一个shell文档,并动态加载正文内容,但这真是一团糟。)
此外,如果这就是您使用jQuery的全部目的,那么您将传输大量JavaScript,但没有从中获得多少工作。这确实是某种服务器端包含的工作
setTimeout(function(){
$('#content').load('content.php');
},1);
setTimeout在指定的毫秒数后执行该函数。它在Google Chrome(本地)上不起作用, 所以,如果您想运行这个文件,您可以使用FireFox,否则它将在服务器上运行 添加Jquery CDN 你好
$(文档).ready(函数(){
$(“#header”).load(“header.html”);
$(“#footer”).load(“footer.html”);
});
我的内容在这里。。。
你不能用JS做这件事。首先使用php
include
加载这些文件。您可以添加一些解释吗?
<script type="text/javascript">
$(document).ready(function(){
$("#header").load("header.html");
$("#footer").load("footer.html");
});
</script>
</head>
<body>
<div id="header"></div>
<div id="content">My content comes here...
</div>
<div id="footer"></div>
</body>