Valaki megtalálja a hibát a kódban? Ez egy memóriajáték lenne, de nem jelennek meg a kártyák.
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
div#memory_board{
background:#CCC;
border:#999 1px solid;
width:800px;
height:540px;
padding:24 px;
margin:0px auto;
}
div#memory_board > div {
background: url(tile_bg.jpg) no-repeat;
border:#000 1px solid;
width: 71px;
height: 71px;
float:left;
margin:10px;
padding:20px;
font-size:64px;
cursor:pointer;
text-align:center;
}
</style>
<script>
var memory_array = ['A','A','B','B','C','C','D','D','E','E','F',']
var memory_values = [];
var memory_tile_ids = [];
var tiles_flipped = 0;
Array.prototype.memory_tile_shuffle = function(){
var i = this.length, j, temp;
while (--i >0){
j= Math.floor(Math.random() * (i+1));
temp = this[j];
this[j] = this[i];
this[i] = temp;
}
}
function newBoard(){
tiles_flipped = 0;
var output = '';
memory_array.memory_tile_shuffle();
for(var i = 0; i < memory_array.length; i++) {
output += 'div id="tile_'+i+'" onclick="memoryFlipTile(this,\''+memory_array[i]+'\')"></div>';
}
document.getElementById('memory_board').innerHTML = output;
}
function memoryFlipTile(tile,val){
if(tile.innerHTML == "" && memory_value.length < 2){
tile.style.background = '#FFF';
tile.innerHTML = val;
if(memory_values.length == 0){
memory_values.push(val);
memory_tile_ids.push(tile.id);
} else if(memory_values.length = 1){
memory_valus.push(val);
memory_tile_ids.push(tile.id);
if(memory_values[0] == memory_values[1]){
tiles_flipped += 2;
// Clear both arrays
memory_values = [];
memory_tile_ids = [];
// Check to see if the whole board is cleared
if(tiles_flipped == memory_array.length) {
alert("Board cleared...generating new board");
document.getElementById('memory_board').innerHTML = "";
newBoard();
}
} else {
function flip2Back(){
// Flip the 2 tiles back over
var tile_1 = document.getElementById(memory_tile_ids[0]};
var tile_2 = document.getElementById(memory_tile_ids[1]);
tile_1.style.background = 'url(tile_bg.jpg) no-repeat';
tile_1.innerHTML = "";
tile_2.style.background = 'url(tile_bg.jpg) no-repeat';
tile_2.innerHTML = "";
//Clear both arrays
memory_values = [];
memory_title_ids = [];
}
setTimeout=flip2Back, 700);
}
}
}
}
</script>
</head>
<body>
<div id="memory_board"></div>
<script>newBoard();</script>
</body>
</html>
for(var i = 0; i < memory_array.length; i++) {
output += 'div id="tile_'+i+'" on
Itt például a div elől hiányzik egy kacsacsőr szerintem.
még mindig messze nem tökéletes, de legalább a "gépelési hibákat" kiszedtem... figyelj oda, mert a hibák 99%-a abból ered, hogy össze vissza zárójelezel pl: (valami] vagy akármi=valami,8);
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
div#memory_board{
background:#CCC;
border:#999 1px solid;
width:800px;
height:540px;
padding:24 px;
margin:0px auto;
}
div#memory_board > div {
background: url(tile_bg.jpg) no-repeat;
border:#000 1px solid;
width: 71px;
height: 71px;
float:left;
margin:10px;
padding:20px;
font-size:64px;
cursor:pointer;
text-align:center;
}
</style>
<script>
var memory_array = ['A','A','B','B','C','C','D','D','E','E','F']
var memory_values = [];
var memory_tile_ids = [];
var tiles_flipped = 0;
Array.prototype.memory_tile_shuffle = function(){
var i = this.length, j, temp;
while (--i >0){
j= Math.floor(Math.random() * (i+1));
temp = this[j];
this[j] = this[i];
this[i] = temp;
}
}
function newBoard(){
tiles_flipped = 0;
var output = '';
memory_array.memory_tile_shuffle();
for(var i = 0; i < memory_array.length; i++) {
output += '<div id="tile_'+i+'" onclick="memoryFlipTile(this,\''+memory_array[i]+'\')"><</div>';
}
document.getElementById('memory_board').innerHTML = output;
}
function memoryFlipTile(tile,val){
if(tile.innerHTML == "" && memory_value.length < 2){
tile.style.background = '#FFF';
tile.innerHTML = val;
if(memory_values.length == 0){
memory_values.push(val);
memory_tile_ids.push(tile.id);
} else if(memory_values.length = 1){
memory_valus.push(val);
memory_tile_ids.push(tile.id);
if(memory_values[0] == memory_values[1]){
tiles_flipped += 2;
// Clear both arrays
memory_values = [];
memory_tile_ids = [];
// Check to see if the whole board is cleared
if(tiles_flipped == memory_array.length) {
alert("Board cleared...generating new board");
document.getElementById('memory_board').innerHTML = "";
newBoard();
}
} else {
function flip2Back(){
// Flip the 2 tiles back over
var tile_1 = document.getElementById(memory_tile_ids[0]);
var tile_2 = document.getElementById(memory_tile_ids[1]);
tile_1.style.background = 'url(tile_bg.jpg) no-repeat';
tile_1.innerHTML = "";
tile_2.style.background = 'url(tile_bg.jpg) no-repeat';
tile_2.innerHTML = "";
//Clear both arrays
memory_values = [];
memory_title_ids = [];
}
setTimeout=(flip2Back, 700);
}
}
}
}
</script>
</head>
<body>
<div id="memory_board"></div>
<script>newBoard();</script>
</body>
</html>
ui: a gyakori kérdések fejlesztői pedig csinálják meg rendesen az oldalt mielőtt letiltják a pastebin.com-ot! nem lehet normálisan kódrészletet beilleszteni, de azért blokkolva van azaz oldal ami meg meg tudná jeleníteni áttekinthetően, formázottan. logikus...
ja és egy pontosvessző is lemaradt:
var memory_array = ['A','A','B','B','C','C','D','D','E','E','F']; <-itt.
csak mivel szerkesztés funkció sincs ezen az oldalon nem akartam újra beszúrni az egészet..
egyébként már megjelennek.
Nekem gyanús, hogy a JS-ek vannak szarul zárójelezve, tekintve, hogy a böngésző be sem tölti..
Egyébként minden böngészőben F12-t nyomsz, az sokat segít.
Firefox dev console ezt írja:
SyntaxError: unterminated string literal mem.html:27
További kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!