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

时间:2020-01-05 12:51:50

标签: javascript jquery css

在滚动过程中激活background-color时,我想更改导航栏的position: 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';
  }
}

1 个答案:

答案 0 :(得分:5)

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

transition: background-color .5s ease;

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