Javascript 更改背景颜色以进行死区像素测试
我试过这个密码Javascript 更改背景颜色以进行死区像素测试,javascript,html,Javascript,Html,我试过这个密码 function myFunction() { var bg = document.bgColor; if (bg = "black") { document.getElementById("myDIV").style.backgroundColor = "white"; } else if (bg = "white") {
function myFunction() {
var bg = document.bgColor;
if (bg = "black") {
document.getElementById("myDIV").style.backgroundColor = "white";
} else if (bg = "white") {
document.getElementById("myDIV").style.backgroundColor = "red";
} else if (bg = "red") {
document.getElementById("myDIV").style.backgroundColor = "green";
} else if (bg = "green") {
document.getElementById("myDIV").style.backgroundColor = "blue";
}
但它不会改变背景颜色,有什么问题吗
附言:我是新来编码的,对不起你的眼睛:/
编辑:
我用这个“谢谢你,疲倦的冒险家”修改了密码
var colors = ["black", "white", "red", "green", "blue"];
var color = 0;
function change_color(){
var e = document.getElementById("myDIV");
if(color >= (colors.length - 1)) color = 0;
else color++;
e.style.background = colors[color];
}
var timer = setTimeout(change_color, 1000);
但我想在bg变蓝后再给大家发一个页面,窗口。位置。替换。。。;有帮助吗
要检查某个值是否等于其他值,请使用运算符==。
我为元素定义了一个变量e,这样重复次数就少了。
如果在If、else、while或for块中只有一个动作可以执行,那么可以去掉大括号,并将其写在一行中,以保持视觉清晰度。
这是你的固定密码
function myFunction() {
var bg = document.bgColor;
var e = document.getElementById("myDIV");
if (bg == "black") e.style.backgroundColor = "white";
else if (bg == "white") e.style.backgroundColor = "red";
else if (bg == "red") e.style.backgroundColor = "green";
else if (bg == "green") e.backgroundColor = "blue";
}
你说你在做一个死像素测试。您可以定义要通过数组循环的颜色:
var colors = ["black", "white", "red", "green", "blue"];
您可以使用setTimeoutcallback,ms函数设置执行代码前的超时或等待。
可以将变量设置为函数,也可以将函数作为参数传递给Javascript中的另一个函数。因此,如果您希望每X毫秒更改一次这些颜色,请使用以下命令:
var colors = ["black", "white", "red", "green", "blue"];
var color = 0;
function change_color(){
var e = document.getElementById("myDIV");
if(color >= (colors.length - 1)) color = 0;
else color++;
e.style.background = colors[color];
}
var timer = setTimeout(change_color, 1000);
颜色是字符串数组,颜色是当前颜色的索引。因此,当color为0时,通过执行colors[color],您将访问数组的第一个元素,因为数组从0开始,即黑色。请注意引号
函数change_color将一个元素的背景色设置为数组中的下一个元素的背景色。它还确保索引指针颜色不会超出数组。确保id=myDIV的标记以区分大小写的方式存在,确保标记可见。当您确定标签显示正确时,请确保调用myFunction;也许是这样:
setTimeout(myFunction, 30000); //It will run twice/minute
编辑:
此外,函数中存在语法错误,在if和else条件中使用赋值运算符of=而不是等于运算符of===。第一步:
是否将jquery库导入到代码中
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
如果是:
您是否在代码中调用此函数
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
我运行你的页面调用函数myFunction;在js代码上,它对我来说是成功的。告诉我这是否适合您您正在调用函数吗?比如什么是触发器?console.logbg;即使纠正了这些拼写错误,我也怀疑它是否仍然有效。@epascarello为什么?大多数浏览器都不返回命名颜色。@epascarello你的意思是不支持颜色别名?我很确定他们都支持基本颜色,比如白色、黑色等。顺便问一下,我可以把人们发送到另一个页面吗?我的意思是背景变成蓝色后。问题显然是在if条件下:if bg=black应该是if bg=black@WearyAdventurer,谢谢你指出,我没有注意到。