我有这样的代码,其中单击按钮会随机生成一些语句。第一次点击似乎可以使用,但其他方法什么也不做。此代码有什么问题:

<p id="text"></p>
<button onclick="showAdvice()">Click</button>
<script>
    var advices = ["statement", "another", "other", "third"];
    var choose = Math.floor(Math.random() * advices.length);
    function showAdvice(){
        document.getElementById("text").innerHTML = advices[choose];
    }
</script>

最佳答案

您需要这样声明函数:

function showAdvice(){
    var choose = Math.floor(Math.random() * advices.length);
    document.getElementById("text").innerHTML = advices[choose];
}


在您的情况下,“选择”仅定义一次,并且showAdvice()的每次调用都将返回相同的文本。

10-02 18:53