javascript - 滚动时更改导航栏的背景颜色

标签 javascript jquery css

我想更改background-colorposition: sticky时我的导航栏滚动期间激活。

我已成功更改 background-color当滚动到达导航栏时,它会出现在导航栏上,但我想对其进行动画处理以使此更改更加渐进。

这是我尝试过的:

window.onscroll = function() {myFunction()};

var navbar = document.getElementById("menu_navbar");

var rect = navbar.getBoundingClientRect();

function myFunction() {
  if (window.pageYOffset >= rect.top) {
     $( "#menu_navbar" ).animate({
        "background-color": "rgba(255, 229, 57, 0.8)"
     }, 1000);
  } 
  else {
     navbar.style.backgroundColor = 'transparent';
  }
}

最佳答案

您可以简单地声明一个过渡样式:

过渡:背景颜色 .5s 缓和;

然后,每当您更改背景颜色时,它就会动画。

关于javascript - 滚动时更改导航栏的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59600046/

相关文章:

html - 如何在不使用边距或文本对齐的情况下将元素居中对齐

javascript - 如何显示 React JavaScript 文件中的内容,或者更确切地说是要由 React 解释的文件

javascript - jquery 动画不透明度突然显示而不是平滑

javascript - Angular JS ng-包含

javascript - JS 检查数值属性是否存在

html - 使用位置和 z-index 无法点击超链接

javascript - 更改最后输入的单词的字体颜色

javascript - 想要将脚本的 'src' 设置为我的 IP - 无法在 Safari 或 Chrome 中加载。相对链接asp.netmvc

jquery - jquery 从 div 获取父 ID

java - Action 类无法从 jsp 获取更改的值