jquery - 在视差滚动上,更改导航 css

标签 jquery css

正在研究一个一旦滚动就会改变样式的视差导航器。我想到了这个,但这样做是不是更好的方法,这样我就不必每次都重复所有的事情了? JSFiddle

$(window).scroll(function() {    
    var scroll = $(window).scrollTop();
    var objectSelect = $(".product");
    var objectPosition = objectSelect.offset().top;
    if (scroll > objectPosition) {
        $(".product-link").addClass("change");
    } else {
        $(".product-link").removeClass("change");
    }
});
$(window).scroll(function() {    
    var scroll = $(window).scrollTop();
    var objectSelect = $(".texture");
    var objectPosition = objectSelect.offset().top;
    if (scroll > objectPosition) {
        $(".texture-link").addClass("change");
        $(".product-link").removeClass("change");
    } else {
        $(".texture-link").removeClass("change");
    }
});

最佳答案

我用这个解决了这个问题:

function onScroll(event){
    var scrollPos = $(document).scrollTop();
    $('.navigate a').each(function () {
        var currLink = $(this);
        var refElement = $(currLink.attr("href"));
        if (refElement.position().top <= scrollPos && refElement.position().top + refElement.outerHeight() > scrollPos) {
            $('.navigate ul li a').removeClass("active");
            currLink.addClass("active");
        }
    });
}

<div class="navigate">
            <ul>
                <li><a class="active" href="#product">Product</a></li>
                <li><a href="#history">History</a></li>
                <li><a href="#texture">Texture</a></li>
                <li><a href="#skintype">Skin Type</a></li>
            </ul>
        </div

然后只需在 .navigate 中使用 #divs。

关于jquery - 在视差滚动上,更改导航 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48711253/

相关文章:

html - 当填充大于定义的大小时会发生什么?

css - 图像/div 在加载时随机重叠

javascript - jQuery在点击事件打开新选项卡时模拟ctrl + click

javascript - 从 JSON 创建一个对象并在 Javascript 中给它一些方法

javascript - 在php while循环中单击按钮时获取特定div

css - 当我在我的 CSS 中使用媒体查询时,我丢失了样式

slidetoggle - jQuery 从右到左滑动内部 div

javascript - 导航栏移动不关闭

html - 为什么我的页面在标准模式下会严重中断?

jquery - 具有 100% 宽度和动画滚动直到图像完成的 CSS 背景图像