изменение класса пункта меню на главной странице

0

У меня есть пункт меню на главной странице.. и я использовал 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>
  • 1
    Если вы хотите, чтобы значение класса сохранялось на разных страницах, вам нужно где-то хранить значение класса (как оно относится к пользователю), например, cookie, сеанс или БД. Так как вы делаете это в javascript, cookie может быть проще всего.
Теги:
menu

2 ответа

1
Лучший ответ

я сделал это с помощью JQuery.. он сделал вещи намного проще.. это проходит через каждую ссылку в меню, а затем добавляет класс, где он соответствует текущей странице.. следующий сценарий:

 <script type="text/javascript">
        $(document).ready(function () {
            $('#subnav a').each(function (index) {
                if (this.href.trim() == window.location)
                    $(this).addClass("selected");
            });
        });
  </script>
0

Один из способов сделать это - добавить класс в тег body, который соответствует имени страницы, и классу CSS.

<body id="home">

Затем css для активного элемента меню, предполагая, что у вас есть имена классов в пунктах меню:

#home li.firstitem { ... }
#about li.seconditem { ... }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню