更改滚动标题背景的颜色

问题描述

我正在尝试在滚动时更改我的 wordpress 网站标题的背景颜色。我正在使用 scrollTop 函数来实现这一点,但无论出于何种原因,该值当前正在作为函数返回。使用下面的代码将滚动位置记录到控制台,我得到了这个:

ƒ (e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultview),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},e,arguments.length)}

jQuery(document).ready(function($) {
    $(window).scroll(function() {
        console.log($(window).scrollTop());
    });
});

由于滚动位置未作为值返回,因此我无法使用它来编写标题的逻辑。从我所看到的,scrollTop 最初应该登录到控制台 0,然后随着窗口滚动而增加。我想知道是否有其他人遇到过同样的问题。

解决方法

我给你做了一个在滚动时使用 addClass() 方法设置标题颜色的例子。当滚动位置返回时,具有所需颜色的类被删除 - removeClass():

if ($(window).scrollTop() > 0) {
   $("p").addClass("color_scroll");
} else {
   $("p").removeClass("color_scroll");
}

$(document).ready(function() {
  $(window).scroll(function() {
    if ($(window).scrollTop() > 0) {
      $("p").addClass("color_scroll");
    } else {
      $("p").removeClass("color_scroll");
    }
  })
})
body {
  height: 5000px;
}

p {
  position: sticky;
  top: 0;
}

p.color_scroll {
  color: green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>Title</p>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...