javascript - 未捕获的类型错误:当我使用粘性导航栏滚动页面时,无法读取 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();
})
解决方案
推荐阅读
- flutter - 如何在滚动时隐藏的颤动中在 listveiw.builder() 中制作 SilverAppBar
- python - 我如何让球从所有矩形边上反弹
- javascript - 获取请求导致页面重新加载
- javascript - 将文本列表转换为 JSON 对象(javascript 或 jquery)
- javascript - 轻量级 JavaScript 键盘配置图
- javascript - Javascript 暂停/恢复切换按钮
- .net - 类库(.NET Standard 5)中的依赖注入和缺少 Startup.cs
- gradle - 如何使用 gradle 替换文件中的令牌?
- vue.js - 用于 chrome 扩展的 Chrome Vue 调试器?
- python - 使用corner_harris 进行角点检测,corner_peaks 不能正确检测角点