Jquery/Javascript刷新单击()

Jquery/Javascript刷新单击(),javascript,jquery,jquery-ui,click,Javascript,Jquery,Jquery Ui,Click,我正在创建一个简单的游戏,玩家通过点击6个不同颜色的方块来创建一个4色代码,稍后在计算机上,玩家应该能够猜出玩家选择了什么,但这将在很久以后发生。无论如何,我遇到的问题是单击()。我希望这样,当你点击每个方块时,你点击哪个方块的结果以及顺序都存储在一个数组中,最终成为玩家的4色代码。到目前为止,看起来信息正在被存储,但不是以您期望的方式存储的。例如,如果我点击橙色方块,该信息将被存储4次,因此如果我打印出数组内容,它将看起来像橙色,橙色,橙色,橙色。我希望它在每次点击时重置,如果这有意义的话。如

我正在创建一个简单的游戏,玩家通过点击6个不同颜色的方块来创建一个4色代码,稍后在计算机上,玩家应该能够猜出玩家选择了什么,但这将在很久以后发生。无论如何,我遇到的问题是单击()。我希望这样,当你点击每个方块时,你点击哪个方块的结果以及顺序都存储在一个数组中,最终成为玩家的4色代码。到目前为止,看起来信息正在被存储,但不是以您期望的方式存储的。例如,如果我点击橙色方块,该信息将被存储4次,因此如果我打印出数组内容,它将看起来像橙色,橙色,橙色,橙色。我希望它在每次点击时重置,如果这有意义的话。如果我点击蓝色,紫色,橙色,绿色,然后打印出数组,它应该是蓝色,紫色,橙色,绿色。你知道我做错了什么吗?谢谢

var colorSelection;
var playerCode = [];
$(document).ready(function() {

    $('div.codeOption').mouseenter(function() {

        $(this).fadeTo("fast", 0.5);
    });

    $('div.codeOption').mouseleave(function() {

        $(this).fadeTo("fast", 1);
    });

});

$('div.codeOption').click(function() {

    for (i = 0; i < 4; i++) {
        colorSelection = $(this).attr('id');
        playerCode[i] = colorSelection;
        alert(playerCode);
    }

});
var颜色选择;
var playerCode=[];
$(文档).ready(函数(){
$('div.codeOption').mouseenter(函数(){
美元(本)。法代托(“快速”,0.5);
});
$('div.codeOption').mouseleave(函数(){
美元(这一点)。法代托(“快速”,1);
});
});
$('div.codeOption')。单击(函数(){
对于(i=0;i<4;i++){
colorSelection=$(this.attr('id');
playerCode[i]=颜色选择;
警报(播放代码);
}
});

您正在循环4次,并为每次单击设置相同的选择。。。您可能认为必须循环遍历每一个,并找出单击了哪一个,但是jquery单击和随后的$(此)选择器会为您处理单击了哪一个,因此无需循环。。。试试这个

var colorSelection;
var playerCode = [];
var clickCount = 0;

$(document).ready(function(){

  $('div.codeOption').mouseenter(function(){

    $(this).fadeTo("fast",0.5);    
        });

  $('div.codeOption').mouseleave(function(){

      $(this).fadeTo("fast",1);
  });



    $('div.codeOption').click(function(){

            colorSelection = $(this).attr('id');
            playerCode [clickCount] =  colorSelection;  
            alert(playerCode);
            clickCount++;

    });
});
您正在side div.code选项中使用$(this),该选项将始终指向已单击的特定div。试着使用像.each这样的东西,它可以对所有div都起作用。还没有测试过,但希望能有所帮助

$('div.codeOption').click(function(){
     $('div.codeOption').each(function(){
         //some code
     });
});

介意做一把小提琴吗?谢谢赛斯、阿米尔和阿杰玛。埃里克鲁尼亚是正确的,尽管我一直在努力。我认为每次“点击”都必须循环,这几乎是我的推理路线,很高兴知道事实并非如此。我刚刚在CodeAcademy完成了jquery课程,所以我在这方面还是很新的,一般来说,这是一个很大的帮助。感谢所有帮助我的人!
$('div.codeOption').click(function(){
     $('div.codeOption').each(function(){
         //some code
     });
});