Javascript 在div中放置循环i

Javascript 在div中放置循环i,javascript,for-loop,Javascript,For Loop,我有一个脚本,可以根据用户输入更改背景颜色并播放声音。声音和颜色的变化取决于输入的长度。我还有一个div,我想显示正在进行更改的字母,我来自for循环。所以div的内容,i,也会随着每次点击和颜色的改变而改变。如果用户输入是hello,div内容应该一个接一个地从h更改为e、l、l、o。我有这个,但当然它只显示输入的时间。我将感谢任何帮助 document.getElementById('icard').innerHTML = i; 列表3包含您的字符数组。因此,您需要选择循环索引处的字符:

我有一个脚本,可以根据用户输入更改背景颜色并播放声音。声音和颜色的变化取决于输入的长度。我还有一个div,我想显示正在进行更改的字母,我来自for循环。所以div的内容,i,也会随着每次点击和颜色的改变而改变。如果用户输入是hello,div内容应该一个接一个地从h更改为e、l、l、o。我有这个,但当然它只显示输入的时间。我将感谢任何帮助

document.getElementById('icard').innerHTML = i;
列表3包含您的字符数组。因此,您需要选择循环索引处的字符:

 document.getElementById('icard').innerHTML = list3[i];

这是您的最终代码。我修好了。快乐编码

  <!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
    body{background:#ccc;}
    </style>
</head>

<body>  

        <form name="name1" method="post" id="name1">
        <select class="select1" id="selectid" name="selectuser" onChange='Choice();'>
        <option>Your text</option>
        <option value="1">English</option>
        <option value="2">French</option>
        <option value="3">German</option>
        <option value="4">Turkish</option>
        <option value="5">Slovak</option>
        <option value="6">Spanish</option>
        </select>
        <input class="input1" id="ids" name="id" onkeyup="getVal()" type="text"  o>
        <input type="button" value="Submit" name="B1" onclick="getText()">
        </form>  

    <div id="icard" class="drag" style="left: 0px; top: 0px; width:10%;  height:10%;"></div>
    <audio id="audio">
    <source src='http://www.mediacollege.com/downloads/sound-effects/hit/hit-01.wav' type="audio/mpeg" />
    </audio>
    <audio id="audio2">
    <source src='http://www.mediacollege.com/downloads/sound-effects/hit/hit-pipe.wav' type="audio/mpeg" />
    </audio>



    <script language="JavaScript">

    function getText() {
    var myString = document.name1.ids.value.toLowerCase();
    var list3 = myString.split('')
    var list1 = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"];
    var list2 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', "ı", 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];


    for (var i = 0; i < list3.length; i++) {

       setTimeout(playOne.bind(null, list3[i]), i*550,j=i);
        //document.getElementById('icard').innerHTML = i;
        //document.body.style.backgroundColor = '#' + //Math.random().toString(16).slice(2, 8);


    }

    function playOne(entry,j) {

        if (list1.indexOf(entry) >= 0) {
           setTimeout(audio.play(null, list1[i]), i*550);
            document.getElementById('icard').innerHTML = j+1;
            document.body.style.backgroundColor = '#' + Math.random().toString(16).slice(2, 8);


        } else if (list2.indexOf(entry) >= 0) {
           setTimeout(audio2.play(null, list2[i]), i*550);
            document.getElementById('icard').innerHTML = j+1;
            document.body.style.backgroundColor = '#' + Math.random().toString(16).slice(2, 8);
        }
    }
}

    </script> 

    <script>
    var ids = new Array();
    ids[0] = "";
    ids[1] = "hello";
    ids[2] = "salut";
    ids[3] = "hallo";
    ids[4] = "merhaba";
    ids[5] = "ahoy";
    ids[6] = "ola";
            function Choice() {
                y = document.getElementById("selectid");
                  document.getElementById("ids").value = ids[y.selectedIndex];
             }
    </script>

    <script>
    var audio = document.getElementById('audio');
    var audio2 = document.getElementById('audio2');
    </script>
</body>
</html>

所以总的来说,我只是将迭代索引传递给函数并捕获相同的索引。就是这样

看一看。你的意思是这样的:?我只添加了document.getElementById'icard'。innerHTML=I+-+条目;+条目part@ReGdYN正如aka喜欢你的评论一样,是否将其添加为答案,以表明此问题有一个可接受的答案供将来参考。通过“for”的每个循环将用下一个字符替换结果,并以最后一个字符结束。如果你解释错在哪里以及如何操作,你的答案将更有帮助你修好了。只发布代码转储没有任何持久的价值。