滚动

时间:2016-05-31 01:54:41

标签: javascript jquery css squarespace

我正在尝试使用自定义CSS和代码注入来更改Squarespace站点中标题元素的背景颜色。

我发现了之前的非Squarespace solution

我试图改编它,但鉴于我缺乏jQuery知识以及Squarespace如何使用代码注入,我感到很茫然。

在自定义CSS区域中,我添加了

.transparent-header #header { background-color: rgba(0,0,0,0.7); }

在代码注入区域我添加了

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">

$(window).on('scroll',function(){

    if ($(window).scrollTop() >= 100) {
        $('.transparent-header #header').css({
            'background-color:' : 'rgba(0,0,0,0.7)'
        });
    } else {
        $('.transparent-header #header').css({
            'background-color:' : 'rgba(0,0,0,0.0)'
        });
    }
});
</script>

我们网站的主页可以访问here

编辑:

预期结果:滚动一段距离x(当前为100px)导航标题后会添加半透明填充

当前结果:无变化

3 个答案:

答案 0 :(得分:1)

您的代码将起作用,只需在背景颜色选择器后删除冒号。 http://screencast.com/t/qfNoKpSwaRui

答案 1 :(得分:0)

我可能会在Squarespace上使用相同的想法处理这种方式,以便清理代码,发布一些不必要的方法,并保持代码紧密。

使用CSS类修饰符,然后使用jQuery添加/删除该类。这样您就不必使用jQuery的CSS方法。

将此自定义CSS添加到Squarespace:

#header {
    background-color: rgba(0,0,0,0.0);
    transition: background-color 200ms ease;
    &.is-scrolled {
        background-color: rgba(0,0,0,0.7);
    }
}

如上所示,默认状态将是透明的。当我们向下滚动时,我们想要添加CSS类修饰符.is-scrolled,然后添加新的CSS。要添加/删除类,我们只需修改您的JavaScript。

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
    $(window).on("scroll",function(){
        var header = $("#header");

        if ($(window).scrollTop() >= 100) {
            header.addClass("is-scrolled");
        } else {
            header.removeClass("is-scrolled");
        }
    });
</script>

答案 2 :(得分:0)

在用户滚动时更改特定页面的背景颜色(而不仅仅是标题),例如,更改此内容:

.transparent-header #header {
    background-color: rgba(0,0,0,0.7);
}

.transparent-background #collectionIDgoeshere { 
    background-color: rgba(0,0,0,0.7); 
}