Вы должны использовать HostListener
в коде компонента ts как
import { HostListener} from "@angular/core";
@HostListener("window:scroll", [])
onWindowScroll() {
this.scrollFunction();
}
scrollFunction() {
if (document.body.scrollTop > 80 || document.documentElement.scrollTop > 80) {
document.getElementById("navbar").style.padding = "30px 10px";
document.getElementById("logo").style.fontSize = "25px";
} else {
document.getElementById("navbar").style.padding = "80px 10px";
document.getElementById("logo").style.fontSize = "35px";
}
}
Обновлено:
В новом коде вы должны перемещать переменную внутри функции как и вызывать HostListener
.
В angular, вы не должны обрабатывать скрипт в html файле, переместите их в файл ts компонента.
myFunction() {
var header = document.getElementById("myHeader");
var sticky = header.offsetTop;
if (window.pageYOffset > sticky) {
header.classList.add("sticky");
} else {
header.classList.remove("sticky");
}
}