如何使用JS函数更改页面中的元素样式
how can I use a JS function to change an element style in the page
我需要两个简单的JavaScript函数,它们可以在单击时读取并更改div的颜色。我不想使用框架,jQuery任何其他方式,只是简单的html,css,JS。我写的代码不起作用如下:
随机颜色
<script>
var colorArray = {yellow, red, blue, purple};
function readColor () {
color = document.getElementById("color");
}
function changeColor (color) {
var randomColor = colorArray[Math.floor(Math.random() * colorArray.length)];
document.getElementById('color').style.backgroundColor = randomColor;
var colors = document.getElementById('color');
colors.style.backgroundColor = color;
}
</script>
<style type = "text/CSS">
<!--
#color {
background-color: yellow;
}
-->
</style>
<div id="color" style="border-color: #eee; border-style: solid; width: 300px; height: 300px; margin-right: auto; margin-left: auto; margin-top: 200px; padding: 50px; background-color: yellow;" onChange = "readColor ();">
Aici are loc lupta
</div>
<div style="text-align: center; margin-top: 20px;">
<input type="button" name="Change color" value="Change Color" onClick = "changeColor ()">
</div>
我相信只是更改
var colorArray = {yellow, red, blue, purple};
至
var colorArray = ['yellow', 'red', 'blue', 'purple'];
应该这样做。
演示位置http://jsfiddle.net/pYc4P/
我认为问题是你没有在onclick 上传递颜色
不应该读:
<input type="button"
name="Change color"
value="Change Color"
onClick = "changeColor (color)">
您将colorArray
创建为对象,但将其用作数组。
尝试将其声明为数组:
var colorArray = new Array("yellow", "red", "blue", "purple");
或者:
var colorArray = ["yellow", "red", "blue", "purple"];
相关文章:
- 如何提供在javascript中编写对对象的重复访问以设置元素样式的简写
- .clone().appendTo-替换不起作用的元素样式
- 使用JavaScript更改带有窗口高度的元素样式
- Javascript重置元素样式
- 取消:活动元素样式
- 什么是最好的表单元素样式库/插件(jQuery)
- 更改页面滚动上的元素样式
- 动态更新数百万个 DOM 元素样式的最快方法
- 覆盖元素.样式表.css文本
- 在禁用 JavaScript 时添加元素样式
- 确定所有屏幕尺寸的元素样式
- 设置 HEAD 元素样式以将其用作数据存储
- 如何使用带有 % 符号值的 ERB 和 JQuery 修改元素样式属性
- asp.net 高度属性的元素样式问题
- 如何覆盖元素样式,使其无法更改
- 如何使用ng样式单击时更新元素样式
- 使用 jQuery 更新 HTML 元素样式参数值
- 将鼠标悬停在另一个元素上时更改元素样式
- 如何将加载到<对象>中的元素样式设置为数据
- 在jQuery UI对话框中设置元素样式