首页 > 解决方案 > 未捕获的类型错误:当我使用粘性导航栏滚动页面时,无法读取 null 的属性“classlist”

问题描述

这就是我在浏览器控制台中真正得到的。

zone-evergreen.js:182 未捕获类型错误:无法读取 null 的属性“classList”

at o.r._activate (bootstrap.bundle.min.js:6)
at o.r._process (bootstrap.bundle.min.js:6)
at bootstrap.bundle.min.js:6
at n (bootstrap.bundle.min.js:6)
at ZoneDelegate.invokeTask (zone-evergreen.js:406)
at Zone.runTask (zone-evergreen.js:178)
at ZoneTask.invokeTask [as invoke] (zone-evergreen.js:487)
at invokeTask (zone-evergreen.js:1600)
at globalZoneAwareCallback (zone-evergreen.js:1637)

这是我使导航栏标题变粘的代码(我的粘性导航栏运行良好,我的粘性导航栏没有问题,但是当我滚动页面时,控制台中会出现上面的错误):

const navbar = document.getElementById("navbar");
const logo = document.getElementById("logo");

var initialImg = "assets/images/logo_2.png";
var scrollImg = "assets/images/logo.png";

var sticky = navbar.offsetTop;
function windowScroll() {
  // console.log('navbar ',navbar);
  if (window.pageYOffset > sticky) {
    //  console.log('inside scroll',navbar);
    navbar.classList.add("nav-sticky");
    logo.src = scrollImg;

    //console.log(logo);
  } else {

    navbar.classList.remove("nav-sticky");
    logo.src = initialImg;
  }

}


window.addEventListener('scroll', (ev) => {
  ev.preventDefault();
  windowScroll();
})

标签: javascriptangulardomtypeerror

解决方案


推荐阅读