我的代码按预期工作,除了我无法在 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'});
});
});
Run Code Online (Sandbox Code Playgroud)
我想这里的核心问题是您的代码段中的过渡属性是“不透明度”。您需要将其更改为“背景颜色”(或“背景”或“全部”)。
此外,为了过渡到工作,它必须在属性值更改之前设置。因此,您可以将“transition”属性声明移动到单独的 CSS 规则中。
$(() => $('#navigation').css({
background: "red"
}));Run Code Online (Sandbox Code Playgroud)
#navigation {
background-color: yellow;
transition: background-color 1s ease-in-out;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="navigation">
Test
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
54 次 |
| 最近记录: |