【发布时间】:2015-07-12 06:06:27
【问题描述】:
我早些时候就该代码提出了一个问题,在我更改它以反映答案后,它在一定程度上起作用,但有一个错误,只有你才能将红色与红色或蓝色与蓝色或绿色与绿色匹配。我知道问题出在 checkColors 函数中。基本上我想知道是否可以改变
if (squares1[0].style.backgroundColor=='rgb(255, 0, 0)' && squares2[0].style.backgroundColor=='rgb(255, 0, 0)'){
squares3[0].style.backgroundColor='rgb(255, 0, 0)';
gotIt;
到
if (squares1[0].style.backgroundColor=='rgb(255, 0, 0)' && squares2[0].style.backgroundColor=='rgb(255, 0, 0)') &&
squares3[0].style.backgroundColor='rgb(255, 0, 0){
gotIt;}
或类似的东西。这个函数几乎破坏了整个事情,我想知道上述或类似的事情是否可能,因为 checkColor 函数似乎每次都会改变第三个正方形的颜色。
我更新了我的小提琴,它显示了 gotIt 函数的用途。 http://jsfiddle.net/j6xrxbeb/
原本的目的是让两个左边的div的颜色补到右边的div的颜色。
【问题讨论】:
-
一个问题是您不能依赖浏览器将颜色属性报告为
rgb()表达式。有些会,有些不会。你最好用一个或多个类名或类似的东西来跟踪状态。 -
你可以有多少你想要的,只要你把引号和括号放在正确的地方
-
真正的问题是。为什么只允许你有两个?
-
我完全同意 Pointy 顺便说一句,你不能可靠地检查颜色。例如,我的浏览器会失败,因为它返回 RGBA。
-
有些包含空格,有些不包含。等等:-)
标签: javascript html events javascript-events