我想在左边做一个导航栏。
| 1 |
| 2 |
| 3 |
<a href="???" id="1"></a>
<a href="???" id="2"></a>
<a href="???" id="3"></a>
我想知道facebook如何做他们的左侧导航栏,因为当你点击他们的栏上的消息,它变成www.facebook.com?sk=收件箱。
如何改变你的主div改变你的url?你把
<a href="?sk=inbox>
,但然后我想知道什么行动是改变div?
我必须使用$_Request['sk']吗?
谢谢
我以前做过类似的事情:
我有一个名为navigation的类,在我的主导航ul
中,我有以下代码片段:
foreach($aAllPages as $key => $value){
$sOutput .= '<li><a href="index.php?pageID='.$key.'">'.$value.'</a></li>'."'n";
}
在我启动函数后,我设置了以下内容:
$pageManager = new PageManager();
$aAllPages = $pageManager->getAllPages();
页面管理器是模型名,它有一个名为getAllPages的函数,该函数处理来自DB的特定数据
如果我理解正确,我认为您指的是Facebook如何修改页面的URL,同时使用AJAX调用填充页面的主div与新内容。如果你注意到在IE中URL看起来像
http://www.facebook.com/# !/? sk =收件箱
代替
http://www.facebook.com/?sk=inbox
Facebook正在利用HTML5功能来修改历史状态(https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history)。
这个SO帖子(http://stackoverflow.com/questions/5527617/using-html5-pushstate-in-ie9)指向一个历史插件,它将利用新的HTML5特性,并优雅地退回到带有hashchange功能的旧浏览器。