Javascript函数依赖于随机字符串

Javascript function depending on random string

本文关键字:随机 字符串 依赖于 函数依赖 函数 Javascript      更新时间:2023-09-26

首先感谢你帮助像我这样的新手。我的问题是我必须为一个类创建一个(应该是)简单的游戏。显示一个随机的小时,孩子们必须点击对应于一天中该时间的右侧图像(基本上是日出/日落、白天和晚上)。如果他们没有选择正确的图像,它就会被另一个替换。如果答案是正确的,则图像保持不变。

<body>
<div id="container">
            <input type="image" id="moment1" src="soleil.png" alt="leve-couche-soleil" onclick="bon1()" style="display:inline">
            <input type="image" id="moment2" src="nuit.png" alt="nuit" onclick="bon2()" style="display:inline">
            <input type="image" id="moment3" src="jour.png" alt="jour" onclick="bon3()" style="display:inline">
            <input type="image" id="gris1" src="gris_leve_couche-soleil.png" onclick="bon1()" style="display:none">
            <input type="image" id="gris1" src="gris_nuit.png" onclick="bon2()" style="display:none">
            <input type="image" id="gris1" src="gris_jour.png" onclick="bon3()" style="display:none">
</div>
<div id="js">
<script>
    var heuresmoment1 = ['19 heures', '20 heures', '6 heures', '7 heures', '21 heures', '22 heures', '23 heures', 'minuit', '1 heure', '2 heures', '3 heures', '4 heures', '5 heures', '8 heures', '9 heures', '10 heures', '11 heures', 'midi' ,'13 heures', '14 heures', '15 heures', '16 heures', '17 heures', '18 heures'];
    var mom1 = heuresmoment1.slice(0, 3);
    var mom2 = heuresmoment1.slice(4, 12);
    var mom3 = heuresmoment1.slice(13, 23);
    var randomIndex = Math.floor(Math.random() * heuresmoment1.length);
    var Consigne = ['Il est '];
    document.write(Consigne + (heuresmoment1[randomIndex]).bold() + '.');
    var img1 = document.getElementById("moment1");
    var img2 = document.getElementById("moment2");
    var img3 = document.getElementById("moment3");
 function bon1() {
        if(randomIndex.value == mom1.value) {
            moment1.style.display = 'inline';
            gris1.style.display = 'none';
        }
        else {
            moment1.style.display = 'none';
            gris1.style.display = 'inline';
        }
    }
 function bon2() {
        if(randomIndex.value == mom2.value) {
            moment2.style.display = 'inline';
            gris2.style.display = 'none';
        }
        else {
            moment1.style.display = 'none';
            gris2.style.display = 'inline';
        }
    }
 function bon3() {
        if(randomIndex.value == mom3.value) {
            moment3.style.display = 'inline';
            gris3.style.display = 'none';
        }
        else {
            moment3.style.display = 'none';
            gris3.style.display = 'inline';
        }
    }
</script>
</div>

</body>

我设法显示了随机时间,但我根据随机时间更改图像的代码不起作用。我没有收到任何错误消息,只是没有改变任何事情。

欢迎使用StackOverflow。

你必须重新思考你的逻辑,你有太多的function做同样的事情。我以不同的方式重构你的代码,希望它能帮助你;)

jsFiddle