我不知道如何问这个,但我希望有人可以帮助我。在浏览网站时,是否有可能有一个元素(即:页脚或某种类型)留在查看器页面中?即使用户更改页面(或点击链接),页脚也不会消失?
我希望我的问题很清楚?
谢谢!
答案 0 :(得分:2)
实现这一目标的方法是,当有人点击您网站上的链接时,通过AJAX / jQuery加载所有内容。
您正在寻找的东西如下:
<HTML>
<HEAD>
<SCRIPT src="jquery.js"></SCRIPT>
<SCRIPT>
function getPage(page)
{
$("#mainContent").load(page);
}
</SCRIPT>
</HEAD>
<BODY>
<DIV>
<a href="Javascript:getPage('aboutus.html')">About Us</a>
<a href="Javascript:getPage('contactus.html')">Contact Us</a>
</DIV>
<DIV id="mainContent">
Here is the default/home page information
</DIV>
</BODY>
</HTML>
链接页面只需要包含核心信息,并自动从登录页面获取任何css信息。但是,您将在页面上显示菜单和mainContent div标签之外的任何内容。
答案 1 :(得分:1)
您可以使用iframe显示您的网站,并将页脚保留在实际文件中。这有它的缺点,所以我不推荐它。
您也可以使用AJAX加载页面,这是一种更合乎逻辑的方法。
答案 2 :(得分:0)
正如乔所提到的那样,框架是一种选择,但是这些日子它们都是皱眉头。
另一种选择是使用AJAX。这比帧更复杂,但会带来更好的体验。基本上,你要做的是初始页面加载,这也会加载一些JavaScript。 JavaScript将附加到任何链接。单击链接时,JavaScript会将新页面加载到当前页面,而不是像普通链接一样转到新页面并刷新整个页面。要加载的另一个页面只是一个部分HTML页面,即不包括html,head,body标签和菜单等。相反它只是内容。
以下是使用jQuery执行此操作的一些基本JavaScript:
// attach a click handler to any nav links
$('nav a').click(function(event) {
event.preventDefault();
$('#content').load($(this).attr('href'));
});
另一种选择是加载隐藏div中其他页面的所有内容。如果您有很多内容,这可能会导致非常大的初始负载。在这种情况下,您的HTML中会出现类似的内容:
<style>
.content { display:none; }
</style>
<nav>
<a href="home">home</a>
<a href="contact">contact</a>
</nav>
<div class="content content_home" style="display:inherit;">...</div>
<div class="content content_contact">...</div>
// attach a click handler to any nav links
$('nav a').click(function(event) {
event.preventDefault();
$('.content').hide().filter('.content_' + $(this).attr('href'));
});
希望这有帮助。
答案 3 :(得分:0)
唯一真正的方法是使用ajax加载页面。因此,除了页脚之外,你将拥有一个包含其中所有内容的大型div。然后,当有人点击你的大div内的链接时,它会抓取链接页面,并用新页面刷新大div。其他答案更详细,这只是一个非常简单的解释。我会开始研究Ajax。
答案 4 :(得分:-2)
我认为你正在寻找HTML框架。互联网上有很多资源。这是一个,http://www.w3schools.com/html/html_frames.asp。