gpt4 book ai didi

javascript - 滚动然后固定

转载 作者:行者123 更新时间:2023-11-28 04:32:08 25 4
gpt4 key购买 nike

我已经尝试了互联网上我能找到的所有东西,因为我是一个完全的 js 菜鸟,我正在尝试学习一些更复杂的 css,我不知道为什么这个滚动然后固定代码不起作用并且不知道如何让它工作。基本上我有一个标题包装器,其中包括高度为 373 像素的 header_pic 和高度为 50 像素的 header_nav。我只想滚动到 header_nav 的顶部,然后将其设置为固定位置,但由于某种原因我使用的每一个都不起作用,我确实在我的 html 页面的头部区域包含了 google 的 jQuery CDN,然后我包含了我的外部脚本。

这是我在 jsfiddle 中的网页示例:https://jsfiddle.net/pyr2h0c5/

var elementPosition = $('#header_nav').offset();

$(window).scroll(function () {
if ($(window).scrollTop() > elementPosition.top) {
$('#header_nav').css('position', 'fixed').css('top', '0');
} else {
$('#header_nav').css('position', 'static');
}
});

谢谢你的耐心 :D

最佳答案

据我所知,您在代码中链接了 jQuery,然后包含了您的脚本。您将脚本放在 <head> 中这使得您选择的元素在脚本运行时未定义,因为它们在脚本之后呈现(例如 #header_nav)。

滚动时可能抛出的错误:

Uncaught TypeError: Cannot read property 'top' of undefined

解决方案:将 jQuery 留在原处,但将脚本从 <head> 中取出并放在收盘前</body>标签。一切都应该是桃色的:

<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>

<!-- Your HTML -->

<script type="text/javascript">
var elementPosition = $('#header_nav').offset();

$(window).scroll(function () {
if ($(window).scrollTop() > elementPosition.top) {
$('#header_nav').css('position', 'fixed').css('top', '0');
} else {
$('#header_nav').css('position', 'static');
}
});
</script>
</body>
</html>

关于javascript - 滚动然后固定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31099947/

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