Активный класс удаляется при загрузке страницы

0

Я пытаюсь сделать простой активный класс для элемента nav. Хеш нав.

<footer>
    <ul>
      <li>
        <a class="footer-link" href="#contact" data-scroll><span class="icon-chat">         </span>Contact</a>
      </li>
      <li>
        <a class="footer-link" href="#work" data-scroll><span class="icon-tools-2"></span>Work</a>
      </li>
      <li>
        <a class="footer-link" href="#services" data-scroll><span class="icon-briefcase"></span>Services</a>
      </li>
      <li>
        <a class="footer-link" href="blog.html"><span class="icon-pencil"></span>Blog</a>
      </li>
    </ul>
  </footer>

И тогда js:

 $('a.footer-link').click(function() {
 $('a.footer-link').removeClass("active");
  return $(this).addClass("active");
 });

Каждый раз, когда я меняю страницу на страницу блога - ссылка активна, но как только страница загружает ее. Первые три a находятся на одной странице и сохраняют "активный" класс, который он теряется при загрузке страницы блога.

Есть предположения?

  • 1
    Вы ожидали иначе?
  • 0
    проверить этот пост - stackoverflow.com/questions/23851413/…
Показать ещё 5 комментариев

1 ответ

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

Вы пробовали что-то вроде этого:

Установите класс в свой html-элемент для каждой страницы, например

<body class="blog">/* Your HTML*/</body>

И дополнительный класс для ваших предметов, возможно (если вы не хотите использовать селектор ahref для стилей)

<a class="footer-link blog"> ... </a>

И когда вы получите новую страницу, ваша глобальная вспомогательная функция JS проверит, что добавить.

(function () {

   var bodyClass = $('body').attr('class');

   switch (bodyClass) {
      case "blog":
         $('a.footer-link.body').addClass('active');
         break;
      default:
         /* other functions */
   };


})();

Ещё вопросы

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