【问题标题】:JavaScript Change img src automaticallyJavaScript 自动更改 img src
【发布时间】:2015-02-17 15:27:05
【问题描述】:

问题

我的项目几乎完成了,但我还有一个问题我想不通。我需要在提示框关闭时自动更改图像src。这就是我的意思。

示例

假设我有这个代码。

HTML

<button id="begin" onClick="javascript:fight();">Begin</button>
<img id="scenario" src="http://www.thegaminghideout.com/school/stage1.png">

JAVASCRIPT

function fight()  {
  var img = document.getElementById("scenario");
  var start = document.getElementById("begin");
  img.src = "http://www.thegaminghideout.com/school/map.jpg"; /* This changes it when the function is called */
  var decision1 = function()  {
    var decision = prompt("What do you do now? ATTACK, SLEEP, or PASS?").toUpperCase();
    if(decision === "ATTACK")  {
      attack();
    }
    if(decision === "SLEEP")  {
      sleep();
    }
    if(decision === "PASS")  {
      skip();
    }
  }

问题

当提示对话框关闭时,如何自动更改 img 的 src?或者,检查它是否打开?

我尝试了什么

  • img.src = "http://www.thegaminghideout.com/school/stage1.png"; 放在后面 fight()函数
  • 尝试这样的检查:if(fight() === true) { img.src =
    "http://www.thegaminghideout.com/school/stage1.png"; }
  • 添加“刷新”功能,但会破坏代码。

注意事项

  • 我知道我在示例中的 JavaScript 可能看起来是错误的, 因为我语法错误或者没有attack()sleep(),或者 skip() 函数。好吧,这只是一个例子,所以我不发布 我的整个游戏代码在这里,大约 1000 行。
  • 我将使用上面提供的代码和 JSFiddle 发布一个 sn-p 与带有完整代码的实际项目一起更好 疑难解答。

function fight() {
  var img = document.getElementById("scenario");
  var start = document.getElementById("begin");
  img.src = "http://www.thegaminghideout.com/school/map.jpg"; /* This changes it when the function is called */
  decision1();
  var decision1 = function() {
    var decision = prompt("What do you do now? ATTACK, SLEEP, or PASS?").toUpperCase();
    if (decision === "ATTACK") {
      attack();
    }
    if (decision === "SLEEP") {
      sleep();
    }
    if (decision === "PASS") {
      skip();
    }
  }
}
<img id="scenario" src="http://www.thegaminghideout.com/school/stage1.png">
<button id="begin" onClick="javascript:fight();">Test</button>

http://jsfiddle.net/d8sxxykj/

【问题讨论】:

    标签: javascript prompt


    【解决方案1】:
    function fight()  {
    
      var start = document.getElementById("begin");
      var decision1 = function()  {
        var img = document.getElementById("scenario");
        var decision = prompt("What do you do now? ATTACK, SLEEP, or PASS?").toUpperCase();
        if(decision === "ATTACK")  {
        img.src = "http://www.thegaminghideout.com/school/map.jpg";
        attack();
        }
        if(decision === "SLEEP")  {
        img.src = "something.jpg";
        sleep();
        }
        if(decision === "PASS")  {
        img.src = "something.jpg";
        skip();
        }
    }  
    

    【讨论】:

    • 提示框关闭后如何变回stage1.png图片?
    • img.src="something" 将在提示关闭后执行。
    • something 更改为 urlimage
    • 啊,好吧。我会快速测试一下,如果它有效,我会 1up + 接受作为答案!
    【解决方案2】:

    试试,

    $("#scenario").attr("src", "http://www.thegaminghideout.com/school/stage1.png");

    而不是

    img.src = "http://www.thegaminghideout.com/school/stage1.png";

    希望对你有帮助!

    【讨论】:

    • 谢谢,但我还不知道 jQuery,而且它会干扰 JavaScript 的混合。
    猜你喜欢
    • 1970-01-01
    • 2010-11-26
    • 2018-09-15
    • 2012-08-28
    • 2013-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-26
    相关资源
    最近更新 更多