每次单击按钮时如何调用该功能?

时间:2014-03-02 11:05:27

标签: javascript

每次点击按钮,如何随机化新号码?它工作一次,但是当我再次点击它时,它们的数字相同。我该如何解决这个问题?

HTML:

 <div id="center">
    <h1>Dragon</h1>

    <div id="dragonRedHpBar">
        <div id="dragonGreenHpBar"></div>
    </div>

 <span id="hpLeft1"></span>

 <p>The Dragon hit you for: <span id="DragonHit"></span></p>

 <p>You hit a: <span id="MyHit"></span></p>

 <h1>Player</h1>

    <div id="myRedHpBar">
        <div id="myGreenHpBar"></div>
    </div>

    <span id="hpLeft2"></span><br />

    <button id="button" onclick="play()">Fight!</button>

  </div> <!-- End of div #center-->

使用Javascript:

window.onload = function() { 
   document.getElementById("hpLeft1").innerHTML= "<b>200/200</b>";
   document.getElementById("hpLeft2").innerHTML = "<b>200/200</b>";
};

var myHit = Math.floor(Math.random() * 40 + 1);
var dragonHit = Math.floor(Math.random() * 40 + 1);
var playerHitpoints, dragonHitpoints = 200;
var slaying = true;

这是我想要调用的函数:

function play() { 


    document.getElementById("DragonHit").innerHTML = dragonHit;
    document.getElementById("MyHit").innerHTML = myHit;
}

2 个答案:

答案 0 :(得分:4)

您需要在play()函数中再次调用随机函数。目前你已经将它设置为只在声明myHit和dragonHit变量时运行一次。

function play() { 
    myHit = Math.floor(Math.random() * 40 + 1);
    dragonHit = Math.floor(Math.random() * 40 + 1);

    document.getElementById("DragonHit").innerHTML = dragonHit;
    document.getElementById("MyHit").innerHTML = myHit;
}

答案 1 :(得分:1)

play()函数man中创建随机值。你只是创造它们一次,所以它们显然会保持不变。

相关问题