我目前正在开发一个网站。目前的布局非常基本。
顶部有一个水平菜单导航,菜单下方有一个主要居中的div,用于保存HTML和信息的其余部分,依此类推。
现在,当用户点击水平菜单中的某个项目时,页面会重新加载以显示包含新HTML的新页面。但是,在每个页面上,我必须将菜单HTML复制到它。这似乎是多余和不必要的。所以我在思考它并想到这种方式......
通过javascript,我获得了html页面并显示在主要内容div上。像这样......
$.get( "newpage.html", function( data ) {
$("#content-div").html( data );
});
所有脚本,css和html现已加载到主要原始页面上。我可以立即获益两个......
这是最佳的吗?使用$.get();
调用加载新的HTML页面作为页面导航的主要方法是一种好习惯吗?还有更好的选择吗?
我考虑过Jquery Tabs,但这需要预先加载所有HTML,我对此犹豫不决。
答案 0 :(得分:0)
答案是,这取决于。
如果有多个页面具有相似的布局和简单的元素,那么是的,$.get();
方法可以工作,但可以更快更顺畅。
当我遇到这个联结时,我宁愿保留现有的HTML元素,只是将新内容加载到它们中。
同样,我没有完整的代码,所以我可以告诉你(以及其他任何看到此内容的人)我的意思,如果你分享,但这取决于你。
现在,如果某些页面有更复杂的元素,您应该通过重新加载来导航。
在那个空间里,一致性是关键。
为了不使用您的代码,您只需要将您的网站设置为模板。
例如,您可以有三个页面(页眉,页脚和页面本身)并使用PHP加载页眉和页脚,而只需编写一次代码。
了header.html
<html>
<head>
Fill with meta info, title, etc.
</head>
<body>
<div class="nav">
Put the nav here.
</div>
的index.php
<?php include_once "header.html"; ?>
<div class="main">
Just fill it with all the page's content.
</div>
<?php include_once "footer.html"; ?>
footer.html
<div class="footer">
Footer info here.
</div>
</body>
</html>
这允许除了编辑一次之外,无处不在,无冗余的HTML以及CSS编辑都可以在整个网站上保留,只要在每个单独的页面中<div>
都在同一个班级
同样,正如我先说的那样,一切都取决于。
如果您有简单的内容而不介意意大利面条代码,那么您最好直接在每次导航使用时替换div信息。
但是,这种方法,至少从我的经验来看,更广泛和多才多艺,所以我建议加载PHP的模板式方法。