如何在滚动时使固定标题更改颜色

时间:2016-11-25 11:09:59

标签: javascript jquery html css

当我说标题时,我的意思是<h1>。但是我的页面左侧有一个固定的标题,我正在使用视差,以便向下滚动背景div更改。

我想在向下滚动时改变h1的颜色,就像this website一样。 (检查左上角的夜班标题!)。

我尝试过像这样使用Jquery:

if($(window).scrollTop() > 2600) {
    $(".leftHeaders a").css("color", "black");

但是当你向下滚动时,你不会得到很酷的色彩转换。

4 个答案:

答案 0 :(得分:1)

您应该将代码放在$(window).scroll()中,如下所示

$(window).scroll(function() {    
   if($(window).scrollTop() > 2600) {
    $(".leftHeaders a").css("color", "black");
  }
});

答案 1 :(得分:0)

您忘记使用事件侦听器,并尝试仅更改一次颜色。

您可以尝试这样的事情:

$(document).on('scroll', function () {
    
    console.log($(window).scrollTop());
  
    if ($(window).scrollTop() > 2600) {
      $(".leftHeaders a").css("color", "black");
    }
      
})

答案 2 :(得分:0)

尝试这样的事情:

$(window).on("scroll", function() {
  if($(window).scrollTop() > 2600) {
    //add black background
    $(".leftHeaders a").css("color", "black");
  } 
  else {
    //remove background
  }
});

你可以参考我上次发布的这个老问题: wrap code in a function. noob here:)

答案 3 :(得分:0)

我想你想要这样的东西 -

$(window).scroll(function() {
                var top = $(this).scrollTop();
                if (top > 2600) {
                   $(".leftHeaders a").css("color", "black");

                } 
               else {
                   $(".leftHeaders a").css("color", "red");

                }

 })