jquery用锚点改变固定元素文本颜色

时间:2014-04-30 18:48:49

标签: jquery html css

我正在尝试更改固定标题中文本的颜色,当它滚动到特定div时。我几乎没有jQuery知识,但是使用指定的像素测量拼凑了一个方法,当滚动到时,所述文本颜色会发生变化。
这是 当前的jQuery代码

$(document).ready (function () {
   $(window).scroll (function () {
    var sT = $(this).scrollTop();
        if (sT >= 400) {
            $('.header').addClass('change')
        }else {
            $('.header').removeClass('change')
        }
  });
});

我真正需要的是在锚点发生更改,以便它可以跨越不同的设备大小。希望有道理吗?

这是我在codepen中工作的内容: http://codepen.io/danburrows/pen/ChFxi

希望有人可以提供帮助:)

2 个答案:

答案 0 :(得分:0)

您可以使用以下代码与其联系:

$(document).ready (function () {
    $(window).scroll (function () {
        var sT = $(this).scrollTop();
            if (sT >= $('.bottom').offset().top) {
                $('.header').addClass('change')
            }else {
                $('.header').removeClass('change')
            }
    });
});

您必须搜索所需对象的偏移量。

答案 1 :(得分:0)

您需要比较想要更改文本颜色的div的位置和滚动条的位置...

以下是codepen:http://codepen.io/anon/pen/sgmaJ

您不需要更改大部分JQuery代码。

只需将if语句更改为:

if (sT - $('.bottom').position().top > 0) {
    $('.header').addClass('change')
}else {
    $('.header').removeClass('change')
}