2013-03-04 60 views
1

我试图做一个魔法八球模拟,但它不适合我。 Chrome中的检查器元素显示没有错误,所以我很困惑它为什么不起作用。任何建议将不胜感激。来自字符串函数的图像

<!DOCTYPE html> 
<html lang="en"> 
<head> 

    <title>Project 4: Consistent</title> 
    <!-- This part is the function to create my magic eight ball that will randomly give a result, but for certain questions, 
    it will provide the same answer always to fool their minds. --> 

    <script> 

     var answerMap = {} 

     var images = ['eightBallYes.png', 'eightBallNo.png', 'eightBallMillionYears.png', 'eightBallAskLater.png', 'eightBallReally.png']; 

     //I actually had a little bit of difficulty with this part of the project. 
     //The answer.search method you showed us in class for some reason is not working for me. 
     //I worked with the GTF on this part 

     function eightBall() { 
      var answer = document.getElementById("answerBox").value; 
      answer = answer.toLowerCase(); 

      if (answer.search(/[r]/) > 0) { 
       var yes = '../Images/eightBallYes.png' 
       return yes; 
      } 

      if (answer.search(/[m]/) > 0) { 
       var no = '../Images/eightBallNo.png' 
       return no; 
      } 

     } 

     window.onload = alert('Welcome to my Project 4') 

    </script> 
</head> 

<body> 
<body style="background:#EEEE17"> 
    <!-- This part of the page will simulate a magic eight ball that will provide at least 4 answers. 
    When certain questions are asked, it will return the same answers. This is honestly a pretty cool project to work on. --> 

    <div style="text-align:center"> 
     <h1>Project 4: Booyah!</h1> 
     <img src="../images/eightBallTemplate.png" > 
     <h2>Magic 8-Ball Game</h2> 


     <input type="text" id="answerBox" value="Please ask a question"> 
     <input type="button" value="Submit for Magical Results" onclick='eightBall()'/> 


     <div id="myOutput"></div> 

     <hr> 

     <a href="http://pages.uoregon.edu/alans/111/CIS%20111/p4/mac.html">Old MacDonald In-Class Activity</a> 
     <br> 
     <a href="http://pages.uoregon.edu/alans/111/CIS%20111/p4/paramString.html">Parameter In-Class Activity</a> 
     <br> 
     <a href="http://pages.uoregon.edu/alans/111/CIS%20111/p4/isPrimeLight-jQuery.html">jQuery In-Class Activity</a> 
     <br> 
     <a href="http://pages.uoregon.edu/alans/111/CIS%20111/p4/string.html">String In-Class Activity</a> 

     <footer> 

      <p> 
       &copy; Copyright by Alan Sylvestre 
      </p> 
     </footer> 
    </div> 
</body> 

+0

什么不起作用? – SLaks 2013-03-04 04:15:28

+0

它应该为不同的结果返回不同的图像。例如,如果答案中有r,则返回yes,如果有m,则返回no图像。现在没有这样做。如果没有r或m,我还需要添加一个if语句以允许它从数组中返回一个随机图像。 – 2013-03-04 04:17:30

回答

0

你没有做你的函数的返回值什么。

您可能希望将其分配给<img>标记的src属性。

+0

这很有道理。我怎么做? – 2013-03-04 04:31:37

+0

你能告诉我一个例子吗? – 2013-03-04 04:33:15

+0

这个建议很好,但是有人能告诉我一些关于如何使用不同变量的代码,所以我可以直观地看到你想要解释什么? – 2013-03-04 04:37:51

0

我看到的问题是,当点击按钮并选择了正确的值时,您正在调用eightBall函数,但您没有对它做任何处理,例如,在myOutput div中附加一个节点。

你也有两个身体标签。

+0

好的。我想我明白你的意思。那么,我如何将它附加到myOutput div中呢? – 2013-03-04 04:24:45

+0

您首先需要对myOutput的引用,您可以使用document.getElementById方法获取该引用。然后,您可以使用document.createElement方法创建一个img节点,将所需的值分配给src属性,最后使用myOutput.appendChild – Marcelo 2013-03-04 04:27:58

+0

的方法追加它,或者您可以更改myOutput并使其成为img而不是div所以你只需要更新它的src属性就像SLaks提出的那样。 – Marcelo 2013-03-04 04:29:29