最奇怪的是,每个人都使用document.body.style.background很好,所以我不明白为什么我不能改变这个div的风格
Herr的代码:
var wrapper = document.getElementById("wrapper");
var showTime = function() {
var time = new Date,
hours = time.getHours().toString(),
minutes = time.getMinutes().toString(),
seconds = time.getSeconds().toString();
if (hours < 10) {
hours = "0" + hours;
}
if (minutes < 10) {
minutes = "0" + minutes;
}
if (seconds < 10) {
seconds = "0" + seconds;
}
wrapper.style.background = "#" + hours + minutes + seconds;
}
setInterval(showTime, 1000);
答案 0 :(得分:1)
代码运行得很好,但为了澄清你对背景对象做了什么,你可以明确地说&#34; backgroundColor&#34;
您可能遇到的问题是您每秒都会为背景设置十六进制颜色,但由于颜色太相似,您不会每秒都注意到任何重大变化。您可以使用浏览器扩展来检测以下颜色: ColorZillas Chrome扩展程序。
https://chrome.google.com/webstore/detail/colorzilla/bhlhnicpbhignbdhedgjhgdocnmhomnp
红色阴影仅每小时修改一次,只有一位数字,每分钟绿色,再次只有一位数。蓝色变化最大,但除非您在开始时再次屏幕拍摄,并且在15秒左右后再次拍摄,否则仍然很难发现差异。
这也仅使用了一小部分色谱,因为在十六进制中数量不会超过60,而在几小时的情况下,它不会超过12或24。
如果您每秒都在寻找更大的变化,您可以在秒上计算出一些数学并使用rgb或转换为十六进制。这样你就可以每秒改变3-4个阴影,而不只是一个。
示例:
var percentOfMin = seconds/60;
var blue = Math.round(255 * percentOfMin);
等。等
style.backgroundColor = "rgb(" + red + "," + green + "," + blue + ")";
这种方式每秒都可以处理整个蓝色光谱的均匀部分,绿色的分钟和红色的小时数。