我创建了一个带有着名汉堡图标的下拉导航菜单。当页面加载时和/或向下滚动页面之前,它会完美地下降,但是如果我向下滚动然后向上滚动,当我点击图标时它会将导航ul列表切成两半,不再显示它是什么在滚动之前做了。 我不知道为什么会这样做。
这是剧本:
<script>
$(document).ready(function (){
$('.nav-btn').on("click", function() {
$('#main-nav').slideToggle("slow");
$(window).resize(function() {
if($(window).width() > 600) {
$("#main-nav").removeAttr("style");
}
});
});
});
</script>
这是HTML(标题内):
<span class="nav-btn"></span>
<nav id="main-nav">
<ul>
<li><a href="#home" class="scroll">HOME</a></li>
<li><a href="#about" class="scroll">ABOUT</a></li>
<li><a href="#portfolio" class="scroll">PORTFOLIO</a></li>
<li><a href="#contact" class="scroll">CONTACT</a> </li>
</ul>
</nav>
这是CSS:
#main-nav {
text-align: center;
display: none;
background-color: #F1F1F1;
}
#main-nav li {
display: block;
border-bottom: 5px #565656 solid;
padding: 5px 0 5px 0;
}
#main-nav li:last-child {
border-bottom: none;
}
#main-nav ul li {
font-size: 1em;
font-family: 'montserratregular';
text-align: left;
}
.nav-btn {
display: block;
background-color: #F1F1F1;
color: #333;
font-size: 40px;
text-align: left;
cursor: pointer;
}
.nav-btn:before {
content: url("hamburger.png");
padding-left: 15px;
}
答案 0 :(得分:0)
你有一个javascript,它在#headwrapper div上应用了130px的高度。
<div id="headwrapper" class="" style="height: 130px;">
当我取下130px时,菜单正常运行。它似乎是添加它onscroll所以当我滚动回到顶部javascript再次启用它。尝试将其更改为height: auto
或不设置固定高度,请尝试将其设置为height: auto; max-height: 1000px;
或类似的东西。这应该照顾你遇到的问题。
编辑*:我建议您在max-height: 75px;
上添加.small
并在height: auto; max-height: 1000px;
上添加#headwrapper
,而不是像您一样更改内联高度。如果你在css-transition中使用它,它应该会给你带来与现在相同的效果。