Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript变量RGB值_Javascript_Html_Css - Fatal编程技术网

Javascript变量RGB值

Javascript变量RGB值,javascript,html,css,Javascript,Html,Css,我正在做一个彩色游戏网站 它显示6个不同颜色的正方形和文本中的rgb颜色。 您应该单击与rgb文本匹配的正方形 问题是我在使用var pickedColor时遇到问题 在我单击错误颜色的情况下,代码会进入if的ELSE部分,但当我单击正确颜色时,它会进入ELSE部分反正更新1:我更改了数组以使用颜色名称而不是rgb值,这一切都起了作用,但我需要使用rgb代码 /*变量声明*/ 变量平方=[] var colors=[] var pickedColor var squares=document.

我正在做一个彩色游戏网站

它显示6个不同颜色的正方形和文本中的rgb颜色。
您应该单击与rgb文本匹配的正方形

问题是我在使用
var pickedColor
时遇到问题
在我单击错误颜色的情况下,代码会进入if的ELSE部分,但当我单击正确颜色时,它会进入ELSE部分反正更新1:我更改了数组以使用颜色名称而不是rgb值,这一切都起了作用,但我需要使用rgb代码

/*变量声明*/
变量平方=[]
var colors=[]
var pickedColor
var squares=document.queryselectoral(“.squares”)
var colorDisplay=document.getElementById(“#colorDisplay”)
var messageDisplay=document.querySelector(“消息”)
var h1=document.querySelector(“h1”)
变量颜色=[“绿色”、“粉色”、“黄色”、“蓝色”、“红色”、“紫色”]
var pickedColor=颜色[1]
/*asigno为一个cada分区着色*/

对于(i=0;i我认为使用jQuery会更好。如果使用jQuery,则可以使用以下代码:

jQuery:

var colors = ["#232323", "#343434", "#555555", "#989889", "#987898", "#458676"];

var rand = colors[Math.floor(Math.random() * colors.length)];
$('#message').text(rand);
$('.square').click(function() {
  hexcolor = $(this).css('background-color');
  hexc(hexcolor);
  if (color == $('#message').text()) {
    $(this).css('outline', '5px dotted red');
    alert('Correct!');
    window.location.href=window.location.href;
  } else {
    $(this).text('Incorrect; Try again.');
    $(this).css('background-color', 'black');
  }
});
function hexc(colorval) {
  var parts = colorval.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
  delete(parts[0]);
  for (var i = 1; i <= 3; ++i) {
    parts[i] = parseInt(parts[i]).toString(16);
    if (parts[i].length == 1) parts[i] = '0' + parts[i];
  }
  color = '#' + parts.join('');
  return color;
}
var colors=[“232323”、“3434”、“555555”、“989889”、“987898”、“458676];
var rand=colors[Math.floor(Math.random()*colors.length)];
$(“#消息”).text(兰特);
$('.square')。单击(函数(){
hexcolor=$(this.css('background-color');
hexc(hexcolor);
如果(颜色==$(“#消息”).text(){
$(this.css('outline','5px点红色');
警惕(“正确!”);
window.location.href=window.location.href;
}否则{
$(this.text('不正确;请重试');
$(this.css('background-color','black');
}
});
函数hexc(colorval){
var parts=colorval.match(/^rgb\(\d+)\s*(\d+)\s*(\d+)$/);
删除(第[0]部分);

对于(var i=1;我“我认为这应该在meta上,但还没有rep”也可以检查代码段在某种程度上是否有效?当我查看代码段时,我看到的只是一个带有一些单词的黑色页面,但没有“文本中有6个不同颜色的方块和rgb中的颜色”您在这里有一个打字错误
var random=Math.floor(Math.random()*colors.lenght)
应该是
length
请将问题标题更改为实际描述您遇到的实际问题。对于这个答案的任何未来观众:我刚才看了它,没有意识到我已经发布了它,并认为“我应该否决它,因为它不必要地引入了jQuery”。Lol
  <div class="square" style="background-color: #232323;"></div>
  <div class="square" style="background-color: #343434;"></div>
  <div class="square" style="background-color: #555555;"></div>
  <div class="square" style="background-color: #989889;"></div>
  <div class="square" style="background-color: #987898;"></div>
  <div class="square" style="background-color: #458676;"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
.square {
  float: left;
  height: 30vh;
  width: 30vw;
  margin: 1%;
  color: gold;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none; 
  user-select: none; 
}