У меня есть пункт меню на главной странице.. и я использовал 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>
я сделал это с помощью JQuery.. он сделал вещи намного проще.. это проходит через каждую ссылку в меню, а затем добавляет класс, где он соответствует текущей странице.. следующий сценарий:
<script type="text/javascript">
$(document).ready(function () {
$('#subnav a').each(function (index) {
if (this.href.trim() == window.location)
$(this).addClass("selected");
});
});
</script>
Один из способов сделать это - добавить класс в тег body, который соответствует имени страницы, и классу CSS.
<body id="home">
Затем css для активного элемента меню, предполагая, что у вас есть имена классов в пунктах меню:
#home li.firstitem { ... }
#about li.seconditem { ... }