Hi,
ich habe folgenden Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Memory</title>
<style type="text/css">
* {
padding: 0px;
margin: 0px;
}
.one {
position: relative;
top: 50px;
left: 50px;
border: #000 1px solid;
width: 80%;
}
.two {
position: relative;
width: 100px;
z-index: 1;
float:left;
background-repeat:no-repeat;
}
</style>
</head>
<body>
<!--Script-->
<script type="text/javascript">
//Initialisieren der Variablen
var count = 0;
var x = 0;
var test = 0;
var n = 0;
var zeilebruch = 0;
var d1 = "";
var d2 = "";
var versuche = 0;
//Einlesen der Grafiken
var pic_close = '<img src="img/back.jpg" />';
//Erzeugung Der Zufallszahlen
numbers1 = new Array();
while (numbers1.length < 16) {
x = Math.floor(Math.random() * 16) + 1;
if (numbers1.length==0) {
numbers1.push(x);
} else {
test = 1;
for (i = 0; i < numbers1.length; i++) {
if (x == numbers1[i]){test++;break;};
}
if(test==1){numbers1.push(x);}
}
}
for (i = 0; i < numbers1.length; i++) {
if (numbers1[i] > 8) {numbers1[i] = numbers1[i] - 8;};
}
//Funktionen
function versuch(element) {
element.style.visibility = "hidden";
if (d1 == "") {d1 = element.parentNode.id;}
else if (d1 != "") {d2 = element.parentNode.id;}
if (d1 == d2) {alert("Sie haben ein pärchen gefunden"); d1 = ""; d2 = ""}
else if (d1 != d2) {document.getElementById(d1).style.visibility = "visible"; document.getElementById(d2).style.visibility = "visible"; d1 = ""; d2 = ""}
versuche++;
document.getElementById('try').value = versuche
}
//Erstellen des Feldes
n = numbers1.length;
document.write('<div class="one">');
for (i = 1; i <= numbers1.length; i++){
document.write('<span class="two" style="background-image: url(img/'+numbers1[count]+'.jpg)" id="s'+numbers1[count]+'"><img src="img/back.jpg" onClick="versuch(this)" id=i'+numbers1[count]+'/></span>');
zeilebruch++;
if (zeilebruch==4) {document.write('<br style="clear: left;">'); zeilebruch=0};
count++;
}
document.write('<br><input type="text" id="try" value="Versuche"></div>');
</script>
</body>
</html>
Der Code ist ein Memoryspiel. Das Problem das ich dabei noch habe ist, das wenn ich zwei Karten aufdecke, die nicht gleich sind, sich die visibility von dem back.jpg nicht wieder auf visible setzt. Außerdem wird mir, wenn ich das erste mal auf ein Kärtchen klicke gesagt, das d2 keine Proporties hat. Ansonsten funktioniert der Code einwandfrei, jedenfalls soweit ich das beurteilen kann. Es wäre super, wenn mir jemand helfen kann, da ich es für ein Fachreferat in der Schule brauche. Unter [link]www.blackpanter.net/sonstiges/memory.html[/link] kann man es sich auch anschauen oder unter [link]www.blackpanter.net/sonstiges/fachreferat.zip[/link] runterladen
Gruß
Sören