0
I’m trying to make a memory game and for this I need to assign values to the div where they will be stored to compare if the selected figures are equal. I tried this way (as code below) but it is not working. Could someone point out the error or give me some hint of what I can do to work?
Javascript code
//Função para adicionar a imagem ao clicar
$('.peca').bind('click', function(){
$(this).html('<img src="images/img1.jpg" border="0" height="100px"/>'); //Foi usado o parâmetro "this" para que ao clicar emm um objeto, somente este seja alterado
});
var p1 = $('.p1').attr('valor', 'numero[0]');
var p2 = $('.p2').attr('valor', 'numero[1]');
var p3 = $('.p3').attr('valor', 'numero[2]');
var p4 = $('.p4').attr('valor', 'numero[3]');
var p5 = $('.p5').attr('valor', 'numero[4]');
var p6 = $('.p6').attr('valor', 'numero[5]');
var p7 = $('.p7').attr('valor', 'numero[6]');
var p8 = $('.p8').attr('valor', 'numero[7]');
var p9 = $('.p9').attr('valor', 'numero[8]');
var p10 = $('.p10').attr('valor', 'numero[9]');
var p11 = $('.p11').attr('valor', 'numero[10]');
var p12 = $('.p12').attr('valor', 'numero[11]');
var p13 = $('.p13').attr('valor', 'numero[12]');
var p14 = $('.p14').attr('valor', 'numero[13]');
var p15 = $('.p15').attr('valor', 'numero[14]');
var p16 = $('.p16').attr('valor', 'numero[15]');
var numero = [16];
function numero_aleatorio () {
var numero = [16];
for(i=0;i<16;i++) {
var ale = Math.floor(Math.random()*8+1); //Fuunção para gerar valores aleatórios de 1 a 8
numero [i]=ale;
}
}
<!DOCTYPE html>
<html>
<head>
<title>Jogo da Memória</title>
<meta charset="utf-8">
<style type="text/css">
.peca{
width: 100px;
height: 100px;
border: 2px solid #000;
background-color: blue;
float: left;
margin-left: 5px;
margin-top: 5px;
}
.peca:hover{
background-color: #FFF;
cursor: pointer;
}
</style>
</head>
<body>
<div class="tabuleiro">
<div class="peca p1" valor=""></div> <!--Atribuindo uma class "valor" para fins de manipulação com javascript-->
<div class="peca p2" valor=""></div>
<div class="peca p3" valor=""></div>
<div class="peca p4" valor=""></div>
<div style="clear: both;"></div> <!--"Pular linha"-->
<div class="peca p5" valor=""></div>
<div class="peca p6" valor=""></div>
<div class="peca p7" valor=""></div>
<div class="peca p8" valor=""></div>
<div style="clear: both;"></div>
<div class="peca p9" valor=""></div>
<div class="peca p10" valor=""></div>
<div class="peca p11" valor=""></div>
<div class="peca p12" valor=""></div>
<div style="clear: both;"></div>
<div class="peca p13" valor=""></div>
<div class="peca p14" valor=""></div>
<div class="peca p15" valor=""></div>
<div class="peca p16" valor=""></div>
</div>
<script type="text/javascript" src="jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="script.js"></script>
</body>
</html>
Thanks even Leonardo! It worked here. It could only explain to me why the function has to be called before assigning the values?
– Diego Soares
@Diegosoares Because the function is that of the random value at each position of the array, if you called it later, there would be no value inside the array to insert into the data-value of each div.
– Leonardo Bonetti