【发布时间】:2021-12-26 09:31:42
【问题描述】:
所以,当 scrollY 超过 30 像素时,我尝试将背景颜色更改添加到我的导航栏,但它仍然有效。但是我在控制台上遇到了这个错误,因为当它超过 30px 时,它无法将新的 classList 添加到标题中。
这是我的 .ts 文件
ngOnInit(): void {
function scrollHeader(){
const nav = document.getElementById('header');
if(window.scrollY >= 30){
nav.classList.add('scroll-header');
}else{
nav.classList.remove('scroll-header');
}
}
window.addEventListener('scroll', scrollHeader);
}
这是样式文件:
.scroll-header{
background: #242526;
color: white;
}
.scroll-header .wrapper .logo a{
color:white;
}
这是 HTML 文件:
<nav id="header">
<div class="wrapper">
<div class="logo">
<a [routerLink]="'/'">InsuranceBazaar</a>
</div>
<input type="radio" name="slider" id="menu-btn">
<input type="radio" name="slider" id="close-btn">
<ul class="nav-links">
<label for="close-btn" class="btn close-btn">
<i class="fa fa-times"></i>
</label>
<li>
....
我不知道错误是什么,但我猜是因为 ngOnInit()。如果有人知道如何解决此错误,请分享答案。
【问题讨论】:
-
在执行此代码时似乎没有呈现
id="header"元素。你能提供一段有标题的代码吗? -
当然。我已经添加了 HTML 文件
标签: css angular angularjs typescript typeerror