尝试根据当前背景更改背景颜色:背景颜色没有值
attempting to change background color based on current background: background color has no value
这是一个非常简单的应用程序。基本上,我用CSS设置了我的初始背景。我希望能够在javascript中读取当前的背景颜色并更新它。目前,我在updateBackground函数中的警告根本没有显示任何文本,尽管我的CSS确实加载了,并且由于等待deviceReady而没有竞争问题。我可以通过在javascript中设置backgroundColor来轻松地解决这个问题,但我想了解这种行为。
CSSbody{
background-color: green;
}
Javascript var updateBackground = function() {
alert(document.body.style.backgroundColor);
document.body.style.backgroundColor=document.body.style.backgroundColor == '#E4E4E4' ? 'green' : '#E4E4E4';
};
class App{
constructor() {
this.bindEvents();
}
bindEvents() {
document.addEventListener('deviceready', this.onDeviceReady, false);
}
onDeviceReady(){
document.addEventListener('touchstart', function() {
updateBackground();
}, false);
}
}
var app = new App();
document.body.style。backgroundColor不读取css文件中设置的颜色,只读取元素上的style属性设置的颜色。getComputedStyle(document.body). getpropertyvalue ("background-color")是你需要的。
<html>
<head>
<style>
body{background-color: green}
</style>
<script>
function getStyle(){
alert(getComputedStyle(document.body).getPropertyValue('background-color'))
}
</script>
</head>
<body onload = 'getStyle()'>
</body>
</html>
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何使用jquery更改html中的背景颜色
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- JS幻灯片与CSS背景颜色变化
- DT数据表背景颜色为黑色,但仍有悬停和选择颜色
- Javascript通过列表项的函数和css来更改背景颜色
- Javascript没有从数组中选择背景颜色
- 使用圆中的数组更改背景颜色项目
- 如何用jquery动画改变背景颜色,就像一个过渡
- 使用jquery交换并保存背景颜色
- j查询如何设置/取消设置下拉菜单的背景颜色
- 使用angularjs根据时间更改背景颜色
- 设置Dojo量表的背景颜色
- javascript样式的背景颜色在设置时闪烁.ASP.NET
- 使用javascript更改任意文本的背景颜色
- 在用Javascript更改背景颜色后:hover don'不要改变颜色
- 图像内部的透明背景颜色不受影响
- jQuery mobile-动态更改ui页面背景颜色
- 切换按钮的背景颜色
- JavaScript更改类的背景颜色