繁体   English   中英

jQuery-在CSS背景颜色切换上放置1秒过渡

[英]jQuery - Placing a 1 second transition on a CSS background color toggle

我拥有的代码按预期工作,但我无法在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属性是“ opacity”。 您需要将其更改为“ background-color”(或“ background”或“ all”)。

此外,为了过渡到工作状态,必须在属性值更改之前进行设置。 因此,您可以将“ transition”属性声明移至单独的CSS规则。

 $(() => $('#navigation').css({ background: "red" })); 
 #navigation { background-color: yellow; transition: background-color 1s ease-in-out; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <div id="navigation"> Test </div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM