定时背景颜色的变化
Timed background color change
如何将此脚本从jQuery更改为JavaScript?我几乎没有JavaScript的经验,我不知道如何自己改变它。
脚本:
var rotate = function() {$("#Top")
.delay(1000).queue(function() {
$(this).css({
"background-color": "red"
});
$(this).dequeue();
})
.delay(3000).queue(function() {
$(this).css({
"background-color": "green"
});
$(this).dequeue();
})
.delay(500).queue(function(next) {
$(this).css({
"background-color": "blue"
});
$(this).dequeue();
next();
})
.queue(rotate);
};
rotate();
Html
<div id="Top"></div>
原始:http://jsfiddle.net/h4KL7/1/
John Resig是编写jQuery的人,这里有一个关于JavaScript定时器如何工作的宣传。
我知道它并不完美,可以使用setInterval()
和clearInterval()
来提高效率,但这是一个开始演示
var rotate = function () {
var el = document.getElementById('Top');
setTimeout(function () {
el.style.backgroundColor = 'red';
setTimeout(function () {
el.style.backgroundColor = 'green';
setTimeout(function () {
el.style.backgroundColor = 'blue';
rotate();
}, 500);
}, 3000);
}, 1000);
}
更新:添加了一个数组来引用超时id,以确保在时间不同步的情况下不会创建重复。
var rotate = function () {
var el = document.getElementById('Top');
var timers = new Array(3);
function red(el) {
el.style.backgroundColor = 'red';
timers[0] = setTimeout(function () { green(el); }, 1000);
clearTimeout(timers[2]);
}
function green(el) {
el.style.backgroundColor = 'green';
timers[1] = setTimeout(function () { blue(el); }, 3000);
clearTimeout(timers[0]);
}
function blue(el) {
el.style.backgroundColor = 'blue';
timers[2] = setTimeout(function () { red(el); }, 500);
clearTimeout(timers[1]);
}
red(el);
};
rotate();
你的帖子的标题应该是:"我怎么能改变这个从jQuery到CSS";-)
@-webkit-keyframes rainbow {
0% { background: #FFABAB; }
20% { background: #FFDAAB; }
40% { background: #DDFFAB; }
60% { background: #ABE4FF; }
80% { background: #D9ABFF; }
100% { background: #FFABAB; }
}
.top {
min-height: 200px;
-webkit-animation: rainbow 10s infinite steps(1);
}
如果你想在背景颜色之间有平滑的过渡,只需省略动画速记属性中的步骤(1)。
看看这个!
相关文章:
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- JS幻灯片与CSS背景颜色变化
- Javascript对象颜色动态变化
- 如何使用Javascript使屏幕颜色随时间变化
- 从表列中检索日期,并根据从今天到日期之间的天数使行的颜色发生变化
- 将鼠标悬停在图像上,图像的不透明度和图像下方标题的颜色会发生变化..同样,当标题变成两行时,它会破坏格式
- 输入时Javascript背景颜色会发生变化
- 如何根据高图中的值获得动态颜色变化
- 颜色变化基于所列问题的编号
- Javascript旋转初始BG颜色变化
- AngularJS:当css类发生变化时,如何通过切换来更改颜色属性
- 图表.js条形图颜色根据值而变化
- 使用CSS和JavaScript点击,链接颜色在被点击和激活时会发生变化,直到我点击其他链接
- 动画颜色变化的优雅方式
- 页面加载时背景颜色发生变化
- 悬停时列表项的背景颜色逐渐变化
- 主页链接'的背景颜色在Internet explorer中发生了变化,但在Mozilla Firefox中不起作
- 鼠标单击时表格颜色发生变化
- 如何生成产品的颜色变化
- 当序列计数变化时,使用NVD3维护堆叠/分组多条形图的颜色映射