Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于随机字符串的Javascript函数_Javascript_String_Random - Fatal编程技术网

基于随机字符串的Javascript函数

基于随机字符串的Javascript函数,javascript,string,random,Javascript,String,Random,首先感谢你帮助我这样的新手。我的问题是我必须为一个类创建一个(应该是)简单的游戏。将显示一个随机小时,孩子们必须单击与一天中该时间对应的右侧图像(基本上是日出/日落、白天和夜晚)。如果他们没有选择正确的图像,它将被另一个图像替换。如果答案正确,图像将保持不变 <body> <div id="container"> <input type="image" id="moment1" src="soleil.png" alt="leve-cou

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

<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>

var heuresmoment1=['19 heures','20 heures','6 heures','7 heures','21 heures','22 heures','23 heures','minuit','1 heures','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=HeureMoment1.切片(4,12);
var mom3=HeureMoment1.切片(13,23);
var randomIndex=Math.floor(Math.random()*heuresmoment1.length);
风险值委托人=['Il est'];
document.write(收货人+(heuresmoment1[randomIndex]).bold()+');
var img1=document.getElementById(“moment1”);
var img2=document.getElementById(“moment2”);
var img3=document.getElementById(“moment3”);
函数bon1(){
if(randomIndex.value==mom1.value){
moment1.style.display='inline';
gris1.style.display='none';
}
否则{
moment1.style.display='none';
gris1.style.display='inline';
}
}
函数bon2(){
if(randomIndex.value==mom2.value){
moment2.style.display='inline';
gris2.style.display='none';
}
否则{
moment1.style.display='none';
gris2.style.display='inline';
}
}
函数bon3(){
if(randomIndex.value==mom3.value){
moment3.style.display='inline';
gris3.style.display='none';
}
否则{
moment3.style.display='none';
gris3.style.display='inline';
}
}

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

欢迎来到StackOverflow

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


我不是故意苛刻,但你的逻辑完全错了:(
randomIndex
只是一个索引,一个整数,没有
randomIndex.value
。此外,mom1、mom2和mom3是字符串数组。也没有
mom1.value
。调试它,您将看到它返回
未定义的
要检查字符串是否在字符串数组中,您可以这样做:
mom1.indexOf('19 heures')=-1