сначала у вас есть опечатка с var $(a) = $('.a')
измените ее на var $a = $('.a'),
вам не нужно делать событие щелчка для каждой ссылки
вы можете сделать что-то например,
присвойте каждой ссылке свойство PageSection
, установите в качестве значения класс разделов, которые вы хотите скрыть / показать
, и присвойте ему тот же класс .nav
, поэтому мы можем записать только одно событие клика
<li pageSection="aboutGoal" class="nav">
поместить каждый раздел раздела страницы внутри контейнера div, чтобы мы могли затемнять их все вместе, нажимая ссылку
<div id="Pages">
, а затем использовать это событие нажатия
$(document).ready(function () {
//view only home section first time
$("#Pages").children().hide();
$(".Home").show();
//when clicking on a li element with class nav
$("li.nav").click(function () {
//fadout every div inside Pages div
$("#Pages").children().fadeOut();
// FadeIn element with class is the same name as the pageSection property from the Li we clicked
$("." + $(this).attr("pageSection")).fadeIn();
//remove active class for every li element with class nav
$("li.nav").removeClass("active");
//add active class for the li element we clicked
$(this).addClass("active");
});
});
живой пример: https://codepen.io/vkv88/pen/gOaLgrj?editors=0010