https://blackrockdigital.github.io/startbootstrap-freelancer/

就像本示例中所示,我想在移动到每个锚点时在每个菜单文本上提供背景色。我更喜欢不使用引导程序并且仅使用常规javascript。

我的想法是添加一个看起来像

function changeColor() {
    if (window.scrollY == sectionClass.offsetTop) {
    document.querySelector('.sectionClass').classList.add("newColorClass");
} else {
    document.querySelector('.sectionClass').classList.remove("newColorClass");
    }
}


当滚动位置位于节的offsetTop的位置时,该方法将在元素中添加具有背景颜色样式的类。

但这似乎不符合我的预期。

任何想法?

最佳答案

这些是类。不是锚。
如果希望它检测锚点,则必须为#。

但是更重要的是sectionClass.offsetTop,sectionClass是否在任何地方都定义为变量?尝试

window.scrollY == document.querySelector('.sectionClass').offsetTop

请注意,这不适用于“每个类”,它可能仅适用于第一个类。您需要为每个querySelector循环

07-24 16:22