Javascript jQuery-在CSS背景颜色切换上放置1秒的转换

Javascript jQuery-在CSS背景颜色切换上放置1秒的转换,javascript,jquery,Javascript,Jquery,我的代码按预期工作,除非我无法在CSS颜色更改上设置1秒的转换 背景会改变颜色。只是没有过渡。我一直盯着这个,试图做些细微的改变,但我似乎无法让它发挥作用。任何帮助都将不胜感激 Javascript: $(window).load(function(){ var navPos = 1, init = true; $(window).scroll(function () { var fixIT = $(this).scrollTop() >= navPos; var se

我的代码按预期工作,除非我无法在CSS颜色更改上设置1秒的转换

背景会改变颜色。只是没有过渡。我一直盯着这个,试图做些细微的改变,但我似乎无法让它发挥作用。任何帮助都将不胜感激

Javascript:

$(window).load(function(){

var navPos = 1,
init = true;

$(window).scroll(function () {
    var fixIT = $(this).scrollTop() >= navPos;
    var setPos = fixIT ? 'fixed' : 'relative';
    var setBG = fixIT ? '#000' : '#1db8af';
    $('#navigation').css({  position: setPos });
    $('#navigation').css({  background: setBG}, {transition : 'opacity 1s ease-in-out'});
});
});

我想这里的核心问题是代码片段中的transition属性是“不透明”。您需要将其更改为“背景色”(或“背景”或“全部”)

此外,要使转换生效,必须在属性值更改之前设置转换。因此,您可以将“transition”属性声明移动到单独的CSS规则

$(()=>$('#导航').css({
背景:“红色”
}));
#导航{
背景颜色:黄色;
过渡:背景色1s,易于输入输出;
}

测验

我想这里的核心问题是,代码片段中的转换属性是“不透明度”。您需要将其更改为“背景色”(或“背景”或“全部”)

此外,要使转换生效,必须在属性值更改之前设置转换。因此,您可以将“transition”属性声明移动到单独的CSS规则

$(()=>$('#导航').css({
背景:“红色”
}));
#导航{
背景颜色:黄色;
过渡:背景色1s,易于输入输出;
}

测验

谢谢。搞定了。我简单地按照你说的做了,并将转换移到CSS,这就成功了。谢谢你一吨!非常感谢。搞定了。我简单地按照你说的做了,并将转换移到CSS,这就成功了。谢谢你一吨!