Я пытаюсь исправить небольшую проблему, когда мое раскрывающееся меню не сбрасывается по умолчанию при переключении на другую страницу, оно действует так, как будто оно было открыто и закрывается, когда я нажимаю кнопку переключения. Есть ли простой способ исправить это? Я не нашел других вопросов, чтобы помочь мне в этом.
HTML
<label id="menulabel"></label>
<nav id="navbar">
<ul id="Mainnav">
<li class="hem">
<a href="index.html">
<p>Hem<p>
</a>
</li>
<li id="portfolio">
<a href="#">
Portfolio ˅
</a>
<ul id="Subnav">
<li>
<a href="illustrator.html">
Illustrator
</a>
</li>
<li>
<a href="photoshop.html">
Photoshop
</a>
</li>
<li>
<a href="illustrator.html">
InDesign
</a>
</li>
</ul>
</li>
CSS
#menulabel {
float:right;
display: block;
width: 44px;
height: 44px;
cursor: pointer;
background: url(../img/icon/Menu.png) no-repeat center center;
}
ul#Mainnav {
margin-left:0;
background:#000000;
clear:left;
}
ul#Mainnav > li {
float:none;
width:auto;
text-align: center;
display:block;
margin: 0;
padding: 0;
}
a {
color:white;
font-weight:bold;
}
ul#Mainnav > li:hover {
background: rgba(65, 177, 255, 1);
}
#Subnav {
display:none;
}
#Subnav.active {
display:block;
}
Jquery
$("#menulabel").click(function() {
$("#navbar").toggleClass("active").stop(true, true).slideToggle(300);
});
Попробуйте изменить CSS:
ul#Subnav {display:none !important;}
Это похоже на более ранний дисплей: блок переопределяет этот дисплей: у вас там нет. Конечно, это может означать, что вы также должны добавить! Важно для правила.active. Кроме того, попробуйте избавиться от отображения: block on ul # Mainnav> li.