classList.add怎么了?

时间:2018-07-10 18:44:58

标签: javascript css

在我正在从事的项目中,首页具有其自己独特的英雄形象,而其余子页面将具有普通形象。

我正在尝试根据当前滚动位置添加和删除类(这将固定导航栏的位置并包括英雄上的填充)。

我似乎可以在主页上看到它,但在子页面上却看不到。这是代码:

<script>
// When the user scrolls the page, execute myFunction 
window.onscroll = function() {myFunction()};

// Get the navbar
var navbar = document.getElementById("navbar_cont");
var media = document.getElementById("media");
var innerMedia = document.getElementById('media_inner');

// Get the offset position of the navbar
var sticky = navbar.offsetTop;

// Add the sticky class to the navbar when you reach its scroll   position. Remove "sticky" when you leave the scroll position
function myFunction() {
    if (window.pageYOffset >= sticky) {
        navbar.classList.add("sticky");
        media.classList.add("stickyPad");
        innerMedia.classList.add("stickyPad");
    } else {
        navbar.classList.remove("sticky");
        media.classList.remove("stickyPad");
        innerMedia.classList.remove("stickyPad");
    }
}
</script>

我可以为导航栏和媒体添加或删除类,但不能为innerMedia添加和删除类。但是,如果我交换媒体和innerMedia的顺序,我现在可以使其与innerMedia一起使用,但不能与媒体一起使用。

任何线索将不胜感激! 杰森

0 个答案:

没有答案