對於上述問題,我已經完成了使用jQuery的codebins的解決方案。
DEMO:http://codebins.com/bin/4ldqpa4
在這裏,我所提到的步驟,上述溶液中執行。
1)在標題標籤中包含最新的jQuery.js和querystring-0.9.0.js javascript文件。
2)HTML
<div id="panel">
<ul class="menu">
<li>
<a href="#?page=0">
Index
</a>
</li>
<li>
<a href="#?page=1">
About
</a>
</li>
<li>
<a href="#?page=2">
Test
</a>
<li>
</ul>
</div>
3)CSS
ul.menu{
border:1px solid #112266;
background:#ccc;
}
ul.menu li{
list-style:none;
display:inline-block;
margin-left:10px;
padding:0px;
width:60px;
text-align:center;
}
ul.menu li:hover{
background:#343434;
}
ul.menu li a{
padding:0px;
color:#113399;
text-decoration:none;
}
ul.menu li:hover a{
color:#c6b744;
text-decoration:underline;
}
ul.menu li.active{
background:#343434;
}
ul.menu li.active a{
color:#c6b744
}
4)的jQuery:
$(function() {
$(".menu li").click(function() {
setTimeout(function() {
var page = $.QueryString("page");
$(".menu li").removeClass("active");
$(".menu li:eq(" + page + ")").addClass("active");
}, 200);
});
});
在上述方案中,我必須設置像#的href鏈接?頁=因爲箱來運行新的頁面重定向Java腳本是不可能的垃圾箱以及我必須使用setTimeout函數,因爲當前頁面不是重定向只是#更改同一頁上的查詢字符串?頁=。
如果你想在你的項目,然後把上面的jQuery腳本共同的地方,以便在將執行每個菜單鏈接,並設置與活動類當前頁面的鏈接使用上面的解決方案。
注意:刪除setTimeout函數包裝只是不停地有代碼行腳本里面。它看起來像如下:
$(function() {
$(".menu li").click(function() {
var page = $.QueryString("page");
$(".menu li").removeClass("active");
$(".menu li:eq(" + page + ")").addClass("active");
});
});
你爲什麼要這麼做?好像你是複雜 – 2012-07-20 12:49:29
是的,你可以添加類使用JavaScript,但不會是更容易產生對服務器端的一些問題? – Leri 2012-07-20 12:49:52
根據你需要什麼類的我會按照@PLB的建議添加與PHP服務器端的類。 – 2012-07-20 12:51:03