在javascript中每隔一段时间自动更改按钮的背景
changing the background of a button automatically on a regular interval in javascript
我想通过定期自动更改背景颜色来创建一个动画按钮。我使用了以下Javascript:
var colors = new Array("Red", "GreenYellow", "Fuchsia", "OrangeRed", "Yellow", "Blue", "Navy", "MediumSpringGreen", "Lime", "SteelBlue");
function bcAnimation(y){
var x;
x=y;
x.style.backgroundColor = colors[Math.floor(Math.random()*10)];
setTimeout(bcAnimation(x), 2000);
}
嵌套调用不起作用。按钮只更改一次。我从body标签调用了函数:
<body onload='bcAnimation(document.getElementById("x"));'>
我还尝试了按钮点击事件。我缺少什么?
请改用
setTimeout(function(){ bcAnimation(x); }, 2000);
为什么不把整个事情简化为:
var colors = new Array("Red", "GreenYellow", "Fuchsia", "OrangeRed", "Yellow", "Blue", "Navy", "MediumSpringGreen", "Lime", "SteelBlue");
setInterval(function () {
x.style.backgroundColor = colors[Math.floor(Math.random() * 10)];
}, 2000)
<button id="x">button</button>
$(function() {
var curColor = 0;
var colors = new Array("Red", "GreenYellow", "Fuchsia", "OrangeRed", "Yellow", "Blue", "Navy", "MediumSpringGreen", "Lime", "SteelBlue");
setInterval(function() {
$('button.colors').css('background-color', colors[curColor]);
curColor += 1;
if (curColor >= colors.length) {
curColor = 0;
}
}, 500);
});
button.colors {
background-color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button class="colors"> :D </button>
相关文章:
- 蓝色和透明的按钮背景
- 谷歌工作表中的按钮,当单击时,会更改特定单元格的背景
- "隐藏/显示”;元素和更改按钮背景图像
- 如何在 Firefox 扩展的 JavaScript 中的按钮背景中插入图像
- 如何使用jquery在鼠标悬停时更改按钮背景颜色
- CSS 按钮背景图像在 IE9 中不起作用
- HTML - 如何在 OnClick 事件上更改按钮背景颜色
- ExtJS基于颜色选择器动态更改按钮背景颜色
- 按钮背景颜色不起作用
- 按钮背景颜色更改
- 按钮背景颜色切换
- Button .js中的按钮背景颜色
- 我如何用javascript改变一个按钮背景
- 按钮背景更改点击
- 有没有办法用颜色填充一半的按钮背景?
- 为什么我的按钮背景没有改变颜色?
- 如何在extjs中删除按钮背景
- CSS3将按钮背景颜色从左向右更改
- jQuery onClick 单选按钮背景更改
- 单击时切换按钮背景颜色