gpt4 book ai didi

javascript - 当用户滚动时停止隐藏在导航栏下的内容

转载 作者:太空宇宙 更新时间:2023-11-03 18:10:57 25 4
gpt4 key购买 nike

是的,所以我有一个基本的 Jquery 脚本,当用户滚动经过导航栏(向下 154 像素)时,它会向导航栏添加一个“固定”类。问题是,导航栏下方的内容会向上跳 35 像素(导航栏的高度)。我已经尝试添加一个带有 35px 填充的 div 类,当用户滚动经过导航栏时显示,虽然修复了其他显示问题,但仍然允许内容提升 35 像素。这是我到目前为止所拥有的:

添加固定类的 jQuery 和显示填充的 jQuery:

<script>
var num = 154; //number of pixels before modifying styles
$(window).bind('scroll', function () {
if ($(window).scrollTop() > num) {
$('ul.nav').addClass('fixed');
} else {
$('ul.nav').removeClass('fixed');
}
});
</script>
<script>
var num = 154; //number of pixels before modifying styles

$(window).bind('scroll', function () {
if ($(window).scrollTop() > num) {
$('.padd').show();
} else {
$('.padd').hide();
}
});
</script>

HTML:

<body ONMOUSEWHEEL="OnMouseWheel()">
<p><a href="index.html"><img src="images/BannerPicture.png" alt="Leisure in mk logo" width="1024" height="150"></a></p>
<ul class="nav">
<li class="nav">
<a href="index.html" style="display:block;height:100%;width:100%">Home</a>
</li>
<li class="nav">
<a href="centremk.html" style="display:block;height:100%;width:100%">Centre MK</a>
</li>
<li class="nav">
<a href="../music.php" style="display:block;height:100%;width:100%">Music</a>
</li>
<li class="nav">
<a href="../more.php" style="display:block;height:100%;width:100%">More Stuff</a></li>
</ul>
<div class="pad">
</div>
<div class="padd">
</div>
<div class="Informationbox">
text and shizz
</div>

最后是 CSS:

ul.nav {
border: 1px solid #ccc;
border-width: 1px 0;
list-style: none;
margin: 0;
padding: 0;
text-align: center;
width: 1024px;
display: table;
table-layout: fixed;
vertical-align: middle;
height: 35px;
vertical-align: middle;
margin-right: auto;
margin-left: auto;
background-color: #C60;
font-size: 25px;

}
/* this styles each link when the mouse is NOT hovered over */
li.nav {
display: table-cell;
vertical-align: middle;
height:100%;
align-items: center;
vertical-align:middle;
line-height:35px;
margin-right: auto;
margin-left: auto;
transition:.4s;
}
li.nav a {
display: block;
height: 100%;
width: 80%;
text-decoration: none;
vertical-align: middle;
align-items: center;
vertical-align: middle;
margin-right: auto;
margin-left: auto;
transition:.4s;
}
li.nav a:hover {
line-height: 25px;
transition:.4s;
}
ul.nav.fixed {
position: fixed;
top: 0;
left: 50%;
margin-left: -512px;
margin-right: 0;
}

.padd {
padding-bottom: 40px;
display:none;
}
.Informationbox {
background-color: #FF9900;
border: 1px solid #FFF;
width: 1024px;
margin-right: auto;
margin-left: auto;
}

最佳答案

当你使用 jquery 向下滚动时,将顶部 35px 添加到 block 后的“导航”.. 并且需要在滚动到顶部时将其删除..

$(window).bind('scroll', function () {    
if ($(window).scrollTop() > num) {
$('ul.nav').addClass('fixed');
$('.your_div').css({"top" : "35px"});
} else {
$('ul.nav').removeClass('fixed');
$('.your_div').css({"top" : "0px"});
}
});

关于javascript - 当用户滚动时停止隐藏在导航栏下的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23738682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com