1

在为骰子游戏调用 math.random 图像时遇到一个小问题。当我单击滚动按钮时,图像不会改变。我将图像保存在 .html 文件所在的位置。任何帮助深表感谢!

掷骰子

<script type="text/javascript">
    var dieImage;

    function start()
    {
        var button = document.getElementById(rollButton);
        button.addEventListener("click", rollDice, false);
        dieImage = document.getElementById("die1");
    }

    function rollDice()
    {
    setImage(dieImage);
    }

    function setImage(dieImg)
    {
    var dieValue = Math.floor(1 + Math.random() * 6);
    dieImg.setAttribute("src", "die" + dieValue + ".jpg");
    dieImg.setAttribute("alt", "dieImg with" + dieValue + "spots");

    if (dieValue == 6)
        {
        document.getElementById("sometext").innerHTML = "You Win!";
        }
    else
        {
        document.getElementById("sometext").innerHTML = "Roll Again";
        }

    }

    window.addEventListener("load", start, false);
</script>
</head>
<body>
    <form action = "#">
        <input id = "rollButton" type = "button" value = "Roll Dice">
    </form>
    <li>
        <img id = "die1" src = "die1.jpg" alt = "blankImage">
    </li>
    <div id = "sometext">Roll for a 6!</div>
</body>

4

1 回答 1

3

上面代码的唯一问题是这一行:

var button = document.getElementById(rollButton);

应该读

var button = document.getElementById("rollButton");

上述更改确实会导致功能正常工作,并且图像会被更新。假设您的所有图像实际上都在正确的位置,您会看到它们发生变化。

作为鼓励,我建议您在 Firefox 中编写代码,并获得 Firebug。通过这些工具,您可以使用 Firebug 控制台和/或 Firefox 的 Web 开发人员错误控制台。这些对于快速解决此类问题非常有用。

于 2012-05-05T13:12:26.033 回答