Обновление!Выделить текущую ссылку Navbar?
Я провел около 4 часов исследований и разработал мой код для работы без жестко закодированных каталогов/путей.
Идея состоит в том, что функция currentLinkFunction()
вызывается из атрибута onload
в теге <a>
.
Приведенный ниже оператор if устанавливает исходный элемент полужирным, если местоположение страницы равно href
в теге <a>
.
function currentLinkFunction() {
if (window.location.pathname == window.event.srcElement.href.pathname) {
window.event.srcElement.style.fontWeight = "bold";
}
}
Это было предположение, но оно не работает.
Вот полная страница:
<head>
<meta charset="UTF-8">
<title>Smith</title>
<link rel="stylesheet" type="text/css" href="resources/styles.css">
<link href="https://fonts.googleapis.com/css?family=Muli" rel="stylesheet">
</head>
<body>
<header>
<h1 class="site-title">Smith</h1>
<ul>
<li><a onload="currentLinkFunction()" class="nav-link" href="/index.html">Home</a></li>
<li><a onload="currentLinkFunction()" class="nav-link" href="#">About</a></li>
<li><a onload="currentLinkFunction()" class="nav-link" href="#">Portfolio</a></li>
<li><a onload="currentLinkFunction()" class="nav-link" href="#">Software</a></li>
<li><a onload="currentLinkFunction()" class="nav-link" href="#">Photograhpy</a></li>
<li><a onload="currentLinkFunction()" class="nav-link" href="#">Contact</a></li>
</ul>
</header>
<footer>
<h2 id="site-copywrite">Designed by <b>Smith</b></h2>
</footer>
<script type="text/javascript">
function currentLinkFunction() {
if (window.location.pathname == window.event.srcElement.href.pathname) {
window.event.srcElement.style.fontWeight = "bold";
}
}
</script>
</body>
Оригинал сообщения:
Я пытаюсь установить стиль моей навигационной панели, что связь текущей страницы полужирным.
То, как я это делаю, вызывает функцию onload, которая устанавливает стиль, если href = index.html.
Вот мой JSFiddle
HTML
<ul>
<li><a onload="currentLinkFunction()" href="index.html">Home</a></li>
<li><a onload="currentLinkFunction()" href="#">About</a></li>
<li><a onload="currentLinkFunction()" href="#">Portfolio</a></li>
<li><a onload="currentLinkFunction()" href="#">Software</a></li>
<li><a onload="currentLinkFunction()" href="#">Photograhpy</a></li>
<li><a onload="currentLinkFunction()" href="#">Contact</a></li>
</ul>
JavaScript
function currentLinkFunction() {
if (location.href == "index.html") {
location.style.fontWeight = "bold";
}
}
Спасибо, я никогда этого не знал. Это все еще не работает, есть ли проблема с тем, как я пытаюсь добавить стиль? – Smithy
Мое удовольствие .. Я обновил свой ответ. –
Дайте мне знать, если у вас возникли проблемы .. –