var cards=["ciri.png", "geralt.png", "jaskier.png", "jaskier.png", "iorweth.png", "triss.png", "geralt.png", "yen.png", "ciri.png", "triss.png", "yen.png", "iorweth.png"];
//console.log(cards);
var c0=document.getElementById('c0');
var c1=document.getElementById('c1');
var c2=document.getElementById('c2');
var c3=document.getElementById('c3');
var c4=document.getElementById('c4');
var c5=document.getElementById('c5');
var c6=document.getElementById('c6');
var c7=document.getElementById('c7');
var c8=document.getElementById('c8');
var c9=document.getElementById('c9');
var c10=document.getElementById('c10');
var c11=document.getElementById('c11');
c0.addEventListener("click", function(){revealCard(0);});
c1.addEventListener("click", function(){revealCard(1);});
c2.addEventListener("click", function(){revealCard(2);});
c3.addEventListener("click", function(){revealCard(3);});
c4.addEventListener("click", function(){revealCard(4);});
c5.addEventListener("click", function(){revealCard(5);});
c6.addEventListener("click", function(){revealCard(6);});
c7.addEventListener("click", function(){revealCard(7);});
c8.addEventListener("click", function(){revealCard(8);});
c9.addEventListener("click", function(){revealCard(9);});
c10.addEventListener("click", function(){revealCard(10);});
c11.addEventListener("click", function(){revealCard(11);});
var again=document.getElementById('again');
again.addEventListener("click", function(){window.location.reload(true);});
//$('again').on('click', function() {window.location.reload(true())};
var oneVisible=false;
var turnCounter=0;
var visible_nr;
var lock=false;
var pairsLeft=6;
function revealCard(nr)
{
var opacityValue=$('#c'+nr).css('opacity');
if(opacityValue!=0 && lock==false)
{
lock=true;
var obraz="url(img/"+cards[nr]+")";
$('#c'+nr).css('background-image', obraz);
$('#c'+nr).addClass('cardA');
$('#c'+nr).removeClass('card');
//w ten sam sposób można dodać zmianę borderu oraz brightness'essu jak coś
//addClass dodaję klasę, ale nie zastępuję klas dodanych wcześniej. O poprawnym działaniu decyduje koleność zapisu w css.
if(oneVisible==false)
{
oneVisible=true;
visible_nr=nr;
lock=false;
}
else
{
if(cards[visible_nr]==cards[nr])
{
setTimeout(function(){hide2Cards(nr, visible_nr)},750);
}
else
{
setTimeout(function(){restore2Cards(nr, visible_nr)},1000);
}
turnCounter++;
$('.score').html('Turn counter: '+turnCounter);
oneVisible=false;
}
}
}
function hide2Cards(nr1, nr2)
{
$('#c'+nr1).css('opacity','0');
$('#c'+nr2).css('opacity','0');
pairsLeft--;
if(pairsLeft==0)
{
$('.board').html('<h1> You win!<br>Done in '+turnCounter+' turns</h1><br>');
$('#again').css('dislpay', 'block');
}
lock=false;
}
function restore2Cards(nr1, nr2)
{
$('#c'+nr1).css('background-image', 'url(img/karta.png)');
$('#c'+nr1).addClass('card');
$('#c'+nr1).removeClass('cardA');
$('#c'+nr2).css('background-image', 'url(img/karta.png)');
$('#c'+nr2).addClass('card');
$('#c'+nr2).removeClass('cardA');
lock=false;
}
body
{
background-color: #26282E;
color: #209781;
font-size: 28px;
font-family: 'Lobster', sans-serif;
}
a:link {color: #209781; text-decoration: none;}
a:visited {color: #209781;}
a:active {color: #209781;}
a:hover {color: #E9B64A;}
h1
{
font-size: 64px;
font-weight: 400;
text-align: center;
letter-spacing: 5px;
margin-top: 20px;
margin-bottom: 0px;
}
p
{
text-align: center;
margin-top: 5px;
margin-bottom: 25px;
letter-spacing: 2px;
}
.board
{
width: 600px;
margin-left: auto;
margin-right: auto;
text-align: center;
}
.cardA
{
width: 125px;
height: 125px;
display: inline-block;
margin: 3px;
background-image: url("img/karta.png");
border: 4px solid #e9b64a;
border-radius: 4px;
cursor: default;
filter: brightness(100%);
transform: all .3s ease-in-out;
}
.card
{
width: 125px;
height: 125px;
display: inline-block;
margin: 3px;
background-image: url("img/karta.png");
border: 4px solid #51c8b2;
border-radius: 4px;
cursor: pointer;
filter: brightness(70%);
transform: all .3s ease-in-out;
}
.card:hover
{
border: 4px solid #e9b64a;
filter: brightness(100%);
}
.score
{
margin-top: 5px;
letter-spacing: 2px;
}
#again
{
width: 140px;
height: 90px;
padding: 5px;
margin: auto; /*jak ustawić mrgin left i right na auto 1 linią*/
display: none;
letter-spacing: 5px;
color: #209781;
text-align: center;
font-size: 64px;
}
#again:hover
{
cursor: pointer;
}
<html>
<head lang="pl">
<meta charset="UTF-8">
<title>Memory Test</title>
<link rel="stylesheet" href="main.css">
<link href="https://fonts.googleapis.com/css?family=Lobster&subset=latin-ext" rel="stylesheet">
<!--<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>-->
</head>
<body>
<header>
<h1>Memory Test</h1>
<p>Let's play a game</p>
</header>
<main>
<article>
<div class="board">
<div class="card" id="c0"></div>
<div class="card" id="c1"></div>
<div class="card" id="c2"></div>
<div class="card" id="c3"></div>
<div class="card" id="c4"></div>
<div class="card" id="c5"></div>
<div class="card" id="c6"></div>
<div class="card" id="c7"></div>
<div class="card" id="c8"></div>
<div class="card" id="c9"></div>
<div class="card" id="c10"></div>
<div class="card" id="c11"></div>
<div class="score">Turn counter: 0</div>
<button type="submit" id="again">Play again!</button>
</div>
</article>
</main>
<script src="jquery-3.2.1.min.js" type="text/javascript"></script>
<script src="memory.js" type="text/javascript"></script>
</body>
</html>
Kod odnosi się do gry M. Zelenta z 5 odc. kursu javascript. Chcę, aby po zakryciu wszystkich kart na ekranie pojawił się przycisk, dzięki któremu można by odświeżyć stronę i nie mam pojęcie gdzie popełniam błąd. Proszę o pomoc.