我有一项任务是在刷新页面时突出显示所选菜单。为此,我想使用cookie。 Html代码是
<div class="menuBar">
<div class="menuHeader ui-corner-top">
<span><a href="#" onclick="Home()" id="home">Home</a></span>
</div>
<div class="menuHeader ui-corner-top">
<span><a href="#" onclick="NewTransaction()" id="newtransaction">New Transaction</a></span>
</div>
</div>
Javascript文件
function Home() {
window.location.href = "../../home/welcome";
}
function NewTransaction() {
window.location.href = "../../EnergyCatagory/index";
}
但我有一个代码将菜单设置为选中。但这不是一个好方法。如何在刷新时将所选菜单的值传递给页面? 这是突出显示菜单的代码
$(document).ready(function () {
var currentUrl = window.location.href;
if (currentUrl.indexOf("home/welcome") !== -1) {
$("#home").parent().parent().addClass('menuHeaderActive');
}
else if (currentUrl.indexOf("EnergyCatagory/index") !== -1) {
$("#newtransaction").parent().parent().addClass('menuHeaderActive');
}
else if (currentUrl.indexOf("portfolio/Index") !== -1) {
$("#portfolio").parent().parent().addClass('menuHeaderActive');
}
});
答案 0 :(得分:4)
为每个菜单项提供id。
然后在id为cookie的菜单项集的onclick()函数中。
设置Cookie
$.cookie("selectedId", $(this).attr('id'));
在document.ready函数中,将选定的类添加到从cookie
获取的id的元素中答案 1 :(得分:2)
您可以像这样实现:
function goToLocation(sLocation, id) {
$.cookie("activediv", id);
window.location.href = sLocation;
}
in html:
<a href="#" onclick="goToLocation('../../home/welcome', 'home')" id="home">Home</a>
在jQuery准备好了:
$('#' + $.cookie("activediv")).parent().parent().addClass('menuHeaderActive');
答案 2 :(得分:1)