我正在尝试制作一个布局与http://support.google.com/plus/?hl=en类似的帮助页面。有人可以给我一些建议或示例,说明无需重新加载页面即可加载新内容列表的最佳方式。
例如,如果您查看链接并按下“圈子和流媒体”,它会更改右侧的列表。
先感谢您
我正在尝试制作一个布局与http://support.google.com/plus/?hl=en类似的帮助页面。有人可以给我一些建议或示例,说明无需重新加载页面即可加载新内容列表的最佳方式。
例如,如果您查看链接并按下“圈子和流媒体”,它会更改右侧的列表。
先感谢您
这取决于您想在页面上显示多少内容,但我这样做的方式是使用 javascript 来显示和隐藏相关部分。这是一个 jsfiddle,显示了一个简单的示例http://jsfiddle.net/am2Dm/10/。
如果您有大量数据,或者可能是动态数据,您可能需要考虑关闭 AJAX 调用来检索您的内容列表 - 但这可能是矫枉过正。
出于这个目的,您可以使用库 jQuery。访问此处以获取 jquery 的文档。还请通过 css3 和 html5 功能,因为它们提供了巨大的格式化工具,例如浮动、位置、显示等。
或者没有外部库,您可以简单地使用 css3 和 html5 属性来创建无表格布局。
html
<div style="width: 100%;">
<div style="float: left; width:50%; height: 200px;background-color:Yellow;">
<input type="button" onclick="asd(1)" value="one" />
<input type="button" onclick="asd(2)" value="two" />
<input type="button" onclick="asd(3)" value="three" />
</div>
<div id="one" style="float: left; width: 110px;height:200px;display:none; background-color:Blue;">
Cell 2
</div>
<div id="two" style="float:left;width: 110px;height:200px;background-color:Red; display:none;">
Cell 3
</div>
<div id="three" style="float:left; width: 110px;height:200px;;background-color:Green; display:none;">
Cell 4
</div>
</div>
JavaScript
function asd(a)
{
document.getElementById("one").style.display="none";
document.getElementById("two").style.display="none";
document.getElementById("three").style.display="none";
if(a==1)
document.getElementById("one").style.display="block";
if(a==2)
document.getElementById("two").style.display="block";
if(a==3)
document.getElementById("three").style.display="block";
}
现在根据您的要求放置 div 的内容。
从 Twitter 检查引导程序。http://twitter.github.com/bootstrap/。您可以轻松创建布局和控件。检查示例。
试试这个(不需要框架):
<ul>
<li><a href="javascript:loadList('Games')">Games</a></li>
<li><a href="javascript:loadList('Music')">Music</a></li>
<li><a href="javascript:loadList('Videos')">Videos</a></li>
</ul>
<ul id="targetList"></ul>
<script type="text/javascript">
var list = {
Games: [
{ name: 'Warcraft III', href: 'http://www.blizzard.net' },
{ name: 'Warcraft III', href: 'http://www.blizzard.net' },
{ name: 'Warcraft III', href: 'http://www.blizzard.net' }
],
Music: [
{ name: 'Madonna', href: 'http://www.madonna.com' },
{ name: 'Madonna', href: 'http://www.madonna.com' },
{ name: 'Madonna', href: 'http://www.madonna.com' }
],
Videos: [
{ name: 'Youtube', href: 'http://www.youtube.com' },
{ name: 'Youtube', href: 'http://www.youtube.com' },
{ name: 'Youtube', href: 'http://www.youtube.com' }
]
};
function loadList(index) {
var targetList = document.getElementById("targetList");
targetList.innerHTML = "";
for(var i = 0; i < list[index].length; i++) {
var li = document.createElement('li');
var a = document.createElement('a');
a.href = list[index][i].href;
a.innerHTML = list[index][i].name;
li.appendChild(a);
targetList.appendChild(li);
}
}
loadList('Games');
</script>
存在大量可以帮助您执行此操作的 Javascript 工具。最常用的两个可能是 Mootools 和 jQuery。尝试使用其中之一,它们都带有大量示例和教程,可以帮助您完成此任务。