我在一个主页中有一个菜单项..我在点击时使用了javascript更改了类。它改变了类一秒钟,但当它重定向到其他页面时它变得相同..任何想法如何我应该这样做
我现在无法访问完整的代码礼,但它是这样的(我使用了一些警告框只是为了看看发生了什么......)
<style>
test1{ color: red;
height:1000px;
font-size:5px ;
background-color:Aqua;
}
test2
{ font-family:Kozuka Mincho Pro M;
color: red;
font-size: 5px }
<script type="text/javascript">
var lastid = "";
function myFunc(id) {
alert(id);
if (lastid != "") {
document.getElementById(lastid).removeAttribute("class", "test2");
document.getElementById(lastid).setAttribute("class", "test1");
var a = document.getElementById(lastid);
alert(a.getAttribute("class"));
}
var element = document.getElementById(id);
document.getElementById(id).setAttribute("class", "test2");
var cssid = id;
$("#" + id).addClass('test1');
alert(document.getElementById(id).getAttribute("class"));
lastid = id;
}
</script>
<li id="firstry" onclick="myFunc(this.id);" ><a href="master-child.aspx"> Click</a> </li>
答案 0 :(得分:1)
我使用Jquery完成了这个...它使事情变得更容易..这遍历菜单中的每个链接,然后添加它与当前页面匹配的类。 以下是脚本:
<script type="text/javascript">
$(document).ready(function () {
$('#subnav a').each(function (index) {
if (this.href.trim() == window.location)
$(this).addClass("selected");
});
});
</script>
答案 1 :(得分:0)
执行此操作的一种方法是将类添加到与页面名称对应的body标记和CSS类。
<body id="home">
然后是活动菜单项的css,假设您的菜单项上有类名:
#home li.firstitem { ... }
#about li.seconditem { ... }