如何使背景逐渐变色
How to make background gradually change colors?
我正在尝试制作一个图像背景颜色逐渐变化的网页。我知道如何在Javascript中更改某个东西的背景颜色,但我不知道如何"动画化"(不用Flash)。
您可以使用CSS转换来获得这种效果。只需将css代码添加到从js:更改的元素中即可
-webkit-transition: all 1s ease-in-out;
-moz-transition: all 1s ease-in-out;
-o-transition: all 1s ease-in-out;
-ms-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;
在css上,每次更改任何样式值时,都会将更改从当前值动画化为新值1。
它只适用于现代浏览器。查看示例:单击
下面是一个如何设置body标签背景动画的示例:
function animateBg(i) {
document.body.style.backgroundColor = 'hsl(' + i + ', 100%, 50%)';
setTimeout(function() {
animateBg(++i)
}, i);
}
animateBg(0);
请记住,hsl不是交叉浏览器,您也可以使用hex/rgb颜色。
Jsfidle链接:http://jsfiddle.net/euthg/
您可能需要使用setTimeout()
函数:
function animateBg()
{
myElement.style.backgroundColor = someNewValue;
setTimeout(animateBg, 20); // 20 milliseconds
}
并在身体的onload
处理程序中调用animateBg()。例如,<body onload="animateBg()">
。
我会尝试使用JQuery颜色插件。看看这里的例子(点击Demo),它们似乎正是你所描述的。
相关文章:
- 画布使用带有角度的线性渐变背景集
- 我怎么能有一个自动渐变背景使用JavaScript,它适用于最新版本的Internet Explorer
- 如何在每次页面重新加载时更改渐变背景,同时保持光标位置元素处于活动状态
- Highchart条形图中的渐变背景条形图
- 通过程序添加CSS渐变作为背景图像
- 动画渐变(javascript)背景不会延伸到窗口的整个高度
- 在具有动态高度的背景图像上创建渐变覆盖
- 使用javascript更改背景图像时保持渐变不变
- 使用 ng 样式进行背景渐变时出现 AngularJS 语法错误
- 我将如何在JavaScript中设置CSS渐变背景
- 背景图像本身的 CSS 渐变
- 弹跳球在JavaScript上与背景和渐变
- 使用Javascript有没有办法抓取由线性或径向渐变渲染的背景图像
- 生成渐变 css / svg 背景
- 鼠标移动时更改渐变背景颜色
- 改变渐变背景的颜色(Chrome)
- CSS z索引渐变背景
- 我如何设置不同的渐变背景,每次用户刷新
- 使用CSS3渐变背景和前后伪元素
- 渐变背景横幅图像,可自动调整窗口当前宽度的大小