Вот динамический c способ сделать это с помощью тега body ID, чтобы установить класс на вашей активной странице.
- Сценарий получает элементы тегов, затем выполняет их итерацию через функцию, используя
.each()
. - Затем мы определяем значение текущего текущего итерированного элемента, используя
var
bodyId =
и * 1008. *. - Затем мы определяем значение идентификатора тегов тела, используя
$('#' +
val).attr('id');
- Запустите условное выражение, чтобы увидеть, совпадает ли значение текущего повторного идентификатора с установленным значением идентификатора тегов тела, если оно is,
addClass('active')
.
ПРИМЕЧАНИЕ: Чтобы это работало, каждый тег тела страницы должен иметь тег ID, установленный на значение соответствующего тега A NAVS. , Это должно быть точно так же, чтобы это работало. Самое интересное, что все это происходит динамически, вам не понадобится код на каждой странице, если вы поместите его в связанный файл сценария JQuery.
Вам понадобится добавить эти идентификаторы в теги тела ваших страниц:
<body id="Home">
<body id="About">
<body id="Home">
<body id="CV">
<body id="Blog">
$(document).ready(function() {
$(".navbar a").each(function(value) {
var bodyId = $(this).text();
var homeId= $('#' + bodyId).attr('id');
if (bodyId === homeId) {
console.log('To test this, Change --> '+ $(this).text() + ' --> Change this in the HTML <body id="' + $(this).text() + '">');
$(this).addClass('active');
}
});
});
* {
box-sizing: border-box
}
body {
margin-left: 15%;
margin-right: 15%;
}
.navbar {
overflow: hidden;
background-color: #104e8B;
position: sticky;
position: -webkit-sticky;
top: 0;
border: 1px solid #ccc;
border-right: none;
}
.navbar a {
float: left;
padding: 6px;
color: white;
text-decoration: none;
font-size: 15px;
width: 20%;
/* Five links of equal widths */
text-align: center;
border-left: 1px solid #fff;
border-right: 1px solid #ccc;
}
.navbar a:hover:not(.active) {
background-color: #AA0000;
color: white;
}
.navbar a:hover {
background-color: #AA0000;
color: white;
}
.active {
background-color: #10CCCC;
color: white;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<body id="CV">
<div class="navbar" id="Menu">
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Research</a>
<a href="#" class="right">CV</a>
<a href="#" class="right">Blog</a>
</div>
<!-- Menu-->
</body>