gpt4 book ai didi

javascript - 在 Head Container 达到最小高度后开始主体滚动

转载 作者:行者123 更新时间:2023-11-28 07:59:19 25 4
gpt4 key购买 nike

我有一个非常简单的页面,如果我向下滚动,我的页眉高度会降低到它的最小高度,这是我想要的。但是 body 同时滚动以降低我的头部容器的高度。我想让主体在 Head-Container 达到其最小高度后开始滚动。

我在脚本的第一个 if 中添加了类似的内容:

if(st < 100)
{
$("#Head").scrollTo(0);
}

但这不起作用,因为我覆盖了正确的滚动值。有什么建议么?提前致谢,约翰内斯

<HTML>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript">
var lastVal = 0;
$(document).ready(function() {
$(window).scroll(function() {
var st = $(window).scrollTop();
if (st > lastVal){
$("#Head").css({height: "+=" + (lastVal-st) + "px"});
} else {
$("#Head").css({height: "+=" + (st-lastVal) + "px"});
}
lastVal = st;
});
});
</script>
<style TYPE="text/css">
#Head {
background-color: #333;
color: #fff;
min-height: 100px;
height: 230px;
position: relative;
}

</style>
<BODY>
<DIV id="main">
<div id="Head">
<h1>My Head</h1>
</div>
<div id="content">
<P>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sodales lorem et mauris feugiat eu interdum neque imperdiet. In ullamcorper laoreet blandit. Phasellus quis leo quam, ac adipiscing lectus. Aenean vulputate pharetra lorem sit amet scelerisque. Aliquam erat volutpat. Nullam ac ante mauris. Integer et diam ante. Aenean eu elit vel sem semper sagittis quis sit amet erat. Praesent fermentum, justo nec suscipit rhoncus, massa metus varius dolor, ac sollicitudin lectus risus nec est. Nunc venenatis justo at enim iaculis nec sagittis eros imperdiet. Fusce porta venenatis sodales. Curabitur molestie quam in arcu porttitor sollicitudin.
</P><P>
Proin egestas luctus sapien nec auctor. Aenean ut sapien leo, et euismod nulla. Suspendisse ac feugiat orci. Vestibulum vitae magna diam, non fringilla dui. Vivamus auctor mi ut eros egestas ut malesuada orci lobortis. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin ut ipsum feugiat ligula sagittis malesuada a vel orci. Sed sit amet nisl id risus sollicitudin venenatis. Donec lobortis facilisis mauris, sed eleifend nunc laoreet quis. Nulla neque orci, aliquam eget rhoncus ut, feugiat id erat. Duis orci sapien, dictum non pretium non, egestas in nisl.
</P>
<P>
Aenean felis turpis, aliquet ac consectetur ac, pulvinar vitae dui. Aenean lacus lorem, rhoncus id dictum sit amet, luctus quis metus. Nullam posuere dignissim hendrerit. Nam tristique urna non neque laoreet nec porta tortor vestibulum. Ut varius facilisis vehicula. Vestibulum hendrerit pretium lorem, sit amet aliquet nisi porta eget. Sed sapien nunc, viverra et vehicula fringilla, cursus vitae mauris. Curabitur commodo mi eu lorem pulvinar auctor. Praesent et sapien et massa ultricies dignissim id at velit. Proin fringilla orci rutrum lacus hendrerit eu cursus quam auctor.
</p>
<P>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sodales lorem et mauris feugiat eu interdum neque imperdiet. In ullamcorper laoreet blandit. Phasellus quis leo quam, ac adipiscing lectus. Aenean vulputate pharetra lorem sit amet scelerisque. Aliquam erat volutpat. Nullam ac ante mauris. Integer et diam ante. Aenean eu elit vel sem semper sagittis quis sit amet erat. Praesent fermentum, justo nec suscipit rhoncus, massa metus varius dolor, ac sollicitudin lectus risus nec est. Nunc venenatis justo at enim iaculis nec sagittis eros imperdiet. Fusce porta venenatis sodales. Curabitur molestie quam in arcu porttitor sollicitudin.
</P><P>
Proin egestas luctus sapien nec auctor. Aenean ut sapien leo, et euismod nulla. Suspendisse ac feugiat orci. Vestibulum vitae magna diam, non fringilla dui. Vivamus auctor mi ut eros egestas ut malesuada orci lobortis. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin ut ipsum feugiat ligula sagittis malesuada a vel orci. Sed sit amet nisl id risus sollicitudin venenatis. Donec lobortis facilisis mauris, sed eleifend nunc laoreet quis. Nulla neque orci, aliquam eget rhoncus ut, feugiat id erat. Duis orci sapien, dictum non pretium non, egestas in nisl.
</P>
<P>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sodales lorem et mauris feugiat eu interdum neque imperdiet. In ullamcorper laoreet blandit. Phasellus quis leo quam, ac adipiscing lectus. Aenean vulputate pharetra lorem sit amet scelerisque. Aliquam erat volutpat. Nullam ac ante mauris. Integer et diam ante. Aenean eu elit vel sem semper sagittis quis sit amet erat. Praesent fermentum, justo nec suscipit rhoncus, massa metus varius dolor, ac sollicitudin lectus risus nec est. Nunc venenatis justo at enim iaculis nec sagittis eros imperdiet. Fusce porta venenatis sodales. Curabitur molestie quam in arcu porttitor sollicitudin.
</P><P>
Proin egestas luctus sapien nec auctor. Aenean ut sapien leo, et euismod nulla. Suspendisse ac feugiat orci. Vestibulum vitae magna diam, non fringilla dui. Vivamus auctor mi ut eros egestas ut malesuada orci lobortis. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin ut ipsum feugiat ligula sagittis malesuada a vel orci. Sed sit amet nisl id risus sollicitudin venenatis. Donec lobortis facilisis mauris, sed eleifend nunc laoreet quis. Nulla neque orci, aliquam eget rhoncus ut, feugiat id erat. Duis orci sapien, dictum non pretium non, egestas in nisl.
</P>
<P>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sodales lorem et mauris feugiat eu interdum neque imperdiet. In ullamcorper laoreet blandit. Phasellus quis leo quam, ac adipiscing lectus. Aenean vulputate pharetra lorem sit amet scelerisque. Aliquam erat volutpat. Nullam ac ante mauris. Integer et diam ante. Aenean eu elit vel sem semper sagittis quis sit amet erat. Praesent fermentum, justo nec suscipit rhoncus, massa metus varius dolor, ac sollicitudin lectus risus nec est. Nunc venenatis justo at enim iaculis nec sagittis eros imperdiet. Fusce porta venenatis sodales. Curabitur molestie quam in arcu porttitor sollicitudin.
</P><P>
Proin egestas luctus sapien nec auctor. Aenean ut sapien leo, et euismod nulla. Suspendisse ac feugiat orci. Vestibulum vitae magna diam, non fringilla dui. Vivamus auctor mi ut eros egestas ut malesuada orci lobortis. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin ut ipsum feugiat ligula sagittis malesuada a vel orci. Sed sit amet nisl id risus sollicitudin venenatis. Donec lobortis facilisis mauris, sed eleifend nunc laoreet quis. Nulla neque orci, aliquam eget rhoncus ut, feugiat id erat. Duis orci sapien, dictum non pretium non, egestas in nisl.
</P>
<P>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sodales lorem et mauris feugiat eu interdum neque imperdiet. In ullamcorper laoreet blandit. Phasellus quis leo quam, ac adipiscing lectus. Aenean vulputate pharetra lorem sit amet scelerisque. Aliquam erat volutpat. Nullam ac ante mauris. Integer et diam ante. Aenean eu elit vel sem semper sagittis quis sit amet erat. Praesent fermentum, justo nec suscipit rhoncus, massa metus varius dolor, ac sollicitudin lectus risus nec est. Nunc venenatis justo at enim iaculis nec sagittis eros imperdiet. Fusce porta venenatis sodales. Curabitur molestie quam in arcu porttitor sollicitudin.
</P><P>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sodales lorem et mauris feugiat eu interdum neque imperdiet. In ullamcorper laoreet blandit. Phasellus quis leo quam, ac adipiscing lectus. Aenean vulputate pharetra lorem sit amet scelerisque. Aliquam erat volutpat. Nullam ac ante mauris. Integer et diam ante. Aenean eu elit vel sem semper sagittis quis sit amet erat. Praesent fermentum, justo nec suscipit rhoncus, massa metus varius dolor, ac sollicitudin lectus risus nec est. Nunc venenatis justo at enim iaculis nec sagittis eros imperdiet. Fusce porta venenatis sodales. Curabitur molestie quam in arcu porttitor sollicitudin.
</P><P>
Proin egestas luctus sapien nec auctor. Aenean ut sapien leo, et euismod nulla. Suspendisse ac feugiat orci. Vestibulum vitae magna diam, non fringilla dui. Vivamus auctor mi ut eros egestas ut malesuada orci lobortis. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin ut ipsum feugiat ligula sagittis malesuada a vel orci. Sed sit amet nisl id risus sollicitudin venenatis. Donec lobortis facilisis mauris, sed eleifend nunc laoreet quis. Nulla neque orci, aliquam eget rhoncus ut, feugiat id erat. Duis orci sapien, dictum non pretium non, egestas in nisl.
</P>
<P>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sodales lorem et mauris feugiat eu interdum neque imperdiet. In ullamcorper laoreet blandit. Phasellus quis leo quam, ac adipiscing lectus. Aenean vulputate pharetra lorem sit amet scelerisque. Aliquam erat volutpat. Nullam ac ante mauris. Integer et diam ante. Aenean eu elit vel sem semper sagittis quis sit amet erat. Praesent fermentum, justo nec suscipit rhoncus, massa metus varius dolor, ac sollicitudin lectus risus nec est. Nunc venenatis justo at enim iaculis nec sagittis eros imperdiet. Fusce porta venenatis sodales. Curabitur molestie quam in arcu porttitor sollicitudin.
</P><P>
Aenean felis turpis, aliquet ac consectetur ac, pulvinar vitae dui. Aenean lacus lorem, rhoncus id dictum sit amet, luctus quis metus. Nullam posuere dignissim hendrerit. Nam tristique urna non neque laoreet nec porta tortor vestibulum. Ut varius facilisis vehicula. Vestibulum hendrerit pretium lorem, sit amet aliquet nisi porta eget. Sed sapien nunc, viverra et vehicula fringilla, cursus vitae mauris. Curabitur commodo mi eu lorem pulvinar auctor. Praesent et sapien et massa ultricies dignissim id at velit. Proin fringilla orci rutrum lacus hendrerit eu cursus quam auctor.
</p>
</div>
</DIV>
</BODY>
</HTML>

最佳答案

一个简单的技巧就可以做到这一点。如果 header 的 height 大于 min-height 并滚动到顶部。

$(window).scroll(function() {
var st = $(window).scrollTop();
if (st > lastVal){
$("#Head").css({height: "+=" + (lastVal-st) + "px"});
if($("#Head").css('height') > $("#Head").css('min-height')){
window.scrollTo(0, 0);
}
} else {
$("#Head").css({height: "+=" + (st-lastVal) + "px"});
}
lastVal = st;
});

关于javascript - 在 Head Container 达到最小高度后开始主体滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29891944/

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