Hallo,
ich habe ein kleines Problem. Vielleicht kann mir jemand weiter helfen.
Kurz um:
HTML:
<script language="JavaScript">
<!--
// Multiple Choice Answer
var textanswers = new Array(4)
textanswers[0] = "Tester > Konzepter > Kunde";
textanswers[1] = "Kunde > Konzepter > Tester";
textanswers[2] = "Konzepter > Tester > Kunde";
textanswers[3] = "Kunde > Tester > Konzepter";
//-->
</script>
</head>
<body>
<div id="quizcontainer">
<script language="JavaScript">
<!--
for(i=0; i<=textanswers.length -1; i++) {
document.write("<div id='mtpl_0" + i + "'><div id='divImg" + i + "'><a href='#' onclick=change("+i+");setflag("+i+")><img src='kasten.gif' border='0' id="+i+"></a></div><div id='text" + i + "'>" + textanswers[i] + "</div></div>");
}
//-->
</script>
</div>
<div id="questioncontainer">
<div id="imgcontainer"></div>
<div id="question"></div>
<div id="commit"><a href="#" onclick="check()">ok</a></div>
</div>
</body>
</html>
-------------------------------------------------------------------
Javascript:
// Images to highligh the choose
var changeimg = new Array(2);
changeimg[0] = new Image;
changeimg[0].src = "kasten.gif";
changeimg[1] = new Image;
changeimg[1].src = "kasten_high.gif";
// Change the Image OnClick
function change(pos){
if(document.images[pos].src.indexOf("kasten.gif")!=-1) {
document.images[pos].src="kasten_high.gif"
}
else {
document.images[pos].src="kasten.gif"
}
}
// Safe the answer of the user
currentImage = new Array(4);
currentImage[0] = false;
currentImage[1] = false;
currentImage[2] = false;
currentImage[3] = false;
// Sets flag to the choosen answer
function setflag(pos) {
for(i=0; i<=3; i++) {
if (document.images[pos].src.indexOf("kasten_high.gif")!=-1) {
currentImage[pos] = true;
}
else {
currentImage[pos] = false;
}
}
}
// For each solution it must be a variable and be added in function check()
var solution0 = 2;
var solution1 = 3;
function check() {
document.getElementById("mtpl_0"+solution0).style.backgroundColor = "yellow";
document.getElementById("mtpl_0"+solution1).style.backgroundColor = "yellow";
for(i=0; i<=3; i++) {
if (currentImage[solution0] == true && currentImage[solution1] == true) {
document.getElementById("mtpl_0"+solution0).style.backgroundColor = "green";
document.getElementById("mtpl_0"+solution1).style.backgroundColor = "green";
//Session für Quiz 1 um eins erhöhen
}
if((currentImage[i] == true && currentImage[i] != currentImage[solution0]) && (currentImage[i] == true && currentImage[i] != currentImage[solution1])) {
document.getElementById("mtpl_0"+i).style.backgroundColor = "red";
alert(currentImage[solution0]);
//Bei Mischung erkennt er nicht, dass er rein muss ins Rot
}
}
}
-------------------------------------------------------------------
PROBLEM:
Die letzte If Abfrage stimmt noch nicht so ganz.
Quellcode einfach mal abspeichern und das Quiz testen. Dann werdet ihr feststellen, dass ein Fall nicht funktioniert.
Vielen Dank im vorraus