css使用js平滑地改变颜色
css change color smoothly with js
我有一个js代码,它可以更改css颜色,但我的问题是,我不想平滑地更改颜色。
HTML:
<html id="html">
这是css:
html{
background:radial-gradient(circle, #ffffff, #aaaaaa);
transition:all 5s linear;
}
这就是简单的js:
function changecolor(r,g,b){
var bg = document.getElementById("html");
bg.style.backgroundImage = 'radial-gradient(circle, #ffffff, #'+r+g+b+ ')';
};
然后在代码中的某个位置:
changecolor(9,0,0);
颜色变化很完美,但过渡不起作用。就像我之前说的,我希望颜色能顺利变化。
有人能帮我吗?谢谢
我认为使用javascript设置CSS意味着绕过了transition
。我建议使用javascript设置class
,然后使用CSS管理样式:
function changecolor(r,g,b){
var bg = document.getElementById("html");
bg.className = "alt-bg";
};
CSS:
.alt-bg {
background-image: styles-here;
}
注意:这不考虑您通过变量设置颜色,这取决于您的具体需求是否适用。IMO最好添加/删除类,并找出一种方法,尽可能在其他地方使颜色可变。
相关文章:
- 如何用jquery动画改变背景颜色,就像一个过渡
- 如何使细胞一次改变一个颜色,而不是一次改变所有颜色
- jQuery改变背景颜色不工作
- 当改变背景颜色的html选择,第一个选项改变它
- 随着背景颜色的变化而改变按钮颜色
- 高图-改变背景颜色沿特定的日期范围
- 聚合物改变应用颜色
- JavaScript:在点击时改变背景颜色(切换类)
- 每秒钟在红色和绿色之间改变背景颜色
- Jquery改变背景颜色悬停,不断闪烁
- 改变背景颜色不透明度与时间间隔
- Javascript -根据一天中的时间改变渐变颜色的主体
- HTML5颜色选择改变跨度颜色
- 逐渐改变背景颜色
- 获取JavaScript oninput函数来改变背景颜色
- 根据被过滤的值来改变字体颜色
- 使用Javascript和RGBA改变背景颜色渐变
- 如何使用Angularjs指令根据动态值改变文本颜色
- 单选按钮不改变背景颜色HTML/CSS
- 改变边框颜色Javascript