2015-05-14 17 views
6

Po prostu uczę się java. Obecnie uczę się, czy, w przeciwnym razie, stwierdzeń.Problemy z przełączaniem obrazów

W grze, którą tworzę, użytkownik wybiera liczbę od 0 do 10 i umieszcza ją w polu wprowadzania. Jeśli jest prawidłowa, obraz na ekranie zmienia się w jedno zdjęcie, jeśli jest nieprawidłowe, przełącza się na inny obraz. Jednak nie wydaje mi się, żeby obrazy w ogóle się zmieniły. Próbowałem kilku różnych sposobów kodowania; Obecnie używam tablicy img. Jednak gdy wykonuję kod, otrzymuję błąd ObjectHTMLImageElement.

Tu jest mój bieżący kod:

<div id="top"> 
    <h1>Pie in the Face</h1> 
    <p>Guess how many fingers I'm holding up between 0 and 10. 
     <br /> If you guess correctly, I get a pie in the face. 
     <br /> If you guess wrong, you get a pie in the face.</p> 

    <input id="answer" /> 
    <button id="myButton">Submit</button> 
    </center> 
</div> 
<div id="container"> 
    <div id="image"></div> 
    <div id="manpie"></div> 
    <div id="girlpie"></div> 
</div> 


<script type="text/javascript"> 
    var x = Math.random(); 

    x = 11 * x; 
    x = Math.floor(x); 

    var imgArray = new Array(); 

    imgArray[0] = new Image(); 
    imgArray[0].src = "images/manpie2.jpg"; 

    imgArray[1] = new Image(); 
    imgArray[1].src = "images/girlpie2.jpg"; 


    document.getElementById("myButton").onclick = function() { 

     if (x == document.getElementById("answer").value) { 
      document.getElementById("image").innerHTML = imgArray[0]; 

      // what I had document.getElementById("image").innerHTML=imgArray[0]; 

     } else { 
      document.getElementById("image").innerHTML = imgArray[1]; 
     } 

    } 
</script> 

</body> 

Próbowałem również przy użyciu linii takich jak: document.getElementById("image").innerHTML=document.getElementById("manpie");

i wtedy nic nie działa. Oto link do strony "na żywo", na której się znajduje. http://176.32.230.6/mejorarcr.com/

każda pomoc byłaby doceniana. Dziękuję Ci!

+1

Przede wszystkim istnieje duża różnica pomiędzy [Tag: Java] i [Tag: JavaScript]. Rzeczywiście, Java jest czymś, a JavaScript to kolejna rzecz, ale oba są językami programowania. – SaidbakR

+1

hmmm okay, myślę, że muszę się nauczyć tej różnicy! –

Odpowiedz

3

Trzeba zmienić wartość w innerHTML swoje kod:

if (x==document.getElementById("answer").value) { 
      document.getElementById("image").innerHTML='<img src="'+imgArray[0].src+'" />'; 

      // what I had document.getElementById("image").innerHTML=imgArray[0].src; 

     } else { 
     document.getElementById("image").innerHTML='<img src="'+imgArray[1].src+'" />'; 
     } 

DEMO lub this

+2

Ładne demo ... Mogłem grać przez całą noc. : D – Roberto

+1

Nie ma za co! :) – SaidbakR

+0

To działało! Dziękuję Ci bardzo! Jestem całkowicie pewien, dlaczego musiałbym zmienić źródło obrazu tam, jeśli odwołuję się do tablicy, ale być może jest to jedna z tych rzeczy, które są po prostu podobne do matematyki, niektóre rzeczy po prostu są. Jeszcze raz dziękuję! –

1

zmiana:

document.getElementById("image").innerHTML=imgArray[0]; 

do:

document.getElementById("image").setAttribute("src", imgArray[0]); 

upewnić imgArray [0] jest rzeczywistą ścieżkę obrazu:

  imgArray[0]="images/manpie2.jpg"; 

      imgArray[1]="images/girlpie2.jpg"; 
+0

Dziękujemy! To ma sens, to wszystko wciąż mnie zaskakuje, ale to pomaga w niektórych schematach myślenia, które muszę zamknąć. –