Javascript 我的else语句工作不正常
//第一部分工作得很好,所以当我滚动超过导航条时,它就固定了。 //但当我返回页面顶部时,它不会将“固定”替换为“相对” //就像它应该做的那样,酒吧保持固定Javascript 我的else语句工作不正常,javascript,Javascript,//第一部分工作得很好,所以当我滚动超过导航条时,它就固定了。 //但当我返回页面顶部时,它不会将“固定”替换为“相对” //就像它应该做的那样,酒吧保持固定 nav-pc { background-color: black; font-weight: bold; position: relative; top: 0; width: 100%; } 这是因为在它被修复后,新的navposition将无限期地为0。要解决这个问题,请将变量var na
nav-pc {
background-color: black;
font-weight: bold;
position: relative;
top: 0;
width: 100%;
}
这是因为在它被修复后,新的
navposition
将无限期地为0。要解决这个问题,请将变量var nav_position
放在函数外部,这样它就不会在应用程序执行过程中发生变化
window.onscroll = function() {
var navbar = document.getElementById('nav-pc');
var nav_position = navbar.offsetTop;
if (window.pageYOffset >= nav_position) {
navbar.style.position = "fixed";
} else {
navbar.style.position = "relative";
}
}
这是因为在它被修复后,新的
navposition
将无限期地为0。要解决这个问题,请将变量var nav_position
放在函数外部,这样它就不会在应用程序执行过程中发生变化
window.onscroll = function() {
var navbar = document.getElementById('nav-pc');
var nav_position = navbar.offsetTop;
if (window.pageYOffset >= nav_position) {
navbar.style.position = "fixed";
} else {
navbar.style.position = "relative";
}
}
谢谢您的时间:),但仍然存在问题,现在它根本不工作。@Pulse然后可能有更多相关的代码您没有显示。你能做一个有效的代码片段吗?仅使用您提供的内容,我的测试就成功了。我试图将其添加到代码段中,但控制台显示:“消息”:“未捕获的TypeError:无法读取null的“offsetTop”属性”,“文件名”:“我明白了。。。好吧,无论如何添加它,这样我就可以看一看。它一直说你的帖子主要是代码,我已经写了5行解释了,仍然这么说:///谢谢你的时间:),但是仍然存在问题,现在它根本不起作用。@Pulse然后可能有更多相关的代码你没有显示。你能做一个有效的代码片段吗?仅使用您提供的内容,我的测试就成功了。我试图将其添加到代码段中,但控制台显示:“消息”:“未捕获的TypeError:无法读取null的“offsetTop”属性”,“文件名”:“我明白了。。。好吧,还是添加吧,这样我就可以看一看。它一直说你的帖子主要是代码,我已经写了5行解释,但仍然这么说:///
var navbar = document.getElementById('nav-pc');
var nav_position = navbar.offsetTop; // set once, and won't ever change
window.onscroll = function() {
if (window.pageYOffset >= nav_position) {
navbar.style.position = "fixed";
} else {
navbar.style.position = "relative";
}
}