Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法读取属性';抵销';空值(粘性导航栏)_Javascript_Html_Navbar - Fatal编程技术网

Javascript 无法读取属性';抵销';空值(粘性导航栏)

Javascript 无法读取属性';抵销';空值(粘性导航栏),javascript,html,navbar,Javascript,Html,Navbar,JS代码: window.onscroll = function() {myFunction();}; var navbar = document.getElementById("navbar"); var sticky = navbar.offsetTop; function myFunction() { if (window.pageYOffset >= sticky) { navbar.classList.add("sticky"); } else { n

JS代码:

window.onscroll = function() {myFunction();};

var navbar = document.getElementById("navbar");
var sticky = navbar.offsetTop;

function myFunction() {
  if (window.pageYOffset >= sticky) {
    navbar.classList.add("sticky");
  } else {
    navbar.classList.remove("sticky");
  }
}
这个怎么了?我发现了一个粘性导航的例子。 在控制台中,它显示:

未捕获的TypeError:无法读取null的属性“offsetTop”


它似乎找不到id为
“navbar”
的任何元素

这可能是由于没有id为
“navbar”
的元素造成的


或者,如果您确实有一个名为
“navbar”
的元素,则此代码可能在页面完成加载之前运行。解决此问题的最简单方法是将javascript放在页面底部。或者,您可以使用jQuery的
$(document).ready
,也可以使用jQuery的一个普通替代品。

它似乎找不到任何id为
“navbar”
的元素

这可能是由于没有id为
“navbar”
的元素造成的

或者,如果您确实有一个名为
“navbar”
的元素,则此代码可能在页面完成加载之前运行。解决此问题的最简单方法是将javascript放在页面底部。或者,您可以使用jQuery的
$(document).ready
,或者来自的一个普通替代品。

因为您的演示没有名为“navbar”的元素 您应该在HTML代码中创建类似于此div的标记

 <div id='navbar'></div>

因为您的演示没有名为“navbar”的元素 您应该在HTML代码中创建类似于此div的标记

 <div id='navbar'></div>


您的代码找不到属性为
id=“navbar”
的元素,因此变量
navbar
null
抱歉,代码错误,请再次检查!如何修复它,请举例说明!您需要在生成html后执行该代码。可能重复的代码找不到属性为
id=“navbar”
的元素,因此变量
navbar
null
抱歉,代码错误,请再次检查!如何修复它,请举例说明!您需要在生成html后执行该代码。@Mark的可能重复存在另一个相同的id元素???@SaromChars这无关紧要,它只会返回找到的第一个元素id@Mark存在另一个相同的id元素???@SaromChars,这无关紧要,它只会返回找到的第一个id