Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.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
一次向div添加一个新字符,而不是使用javascript将字符串在一起_Javascript_Dom - Fatal编程技术网

一次向div添加一个新字符,而不是使用javascript将字符串在一起

一次向div添加一个新字符,而不是使用javascript将字符串在一起,javascript,dom,Javascript,Dom,几年后,我决定再次使用Javascript。是否可以将一个字符(如“X”添加到div中,一次添加一个字符?DOM似乎显示的行为是等待并将它们成串添加。页面是空白的,“旋转”,然后砰的一声,所有的东西立刻显示出来。我拍摄的行为是让“X”以2秒的延迟一次显示一个 <div id="here"></div> <script> function wait(ms) { var d = new Date(); var d2 = null; d

几年后,我决定再次使用
Javascript
。是否可以将一个字符(如
“X”
添加到
div
中,一次添加一个字符?
DOM
似乎显示的行为是等待并将它们成串添加。页面是空白的,“旋转”,然后砰的一声,所有的东西立刻显示出来。我拍摄的行为是让
“X”以
2秒的延迟一次显示一个

<div id="here"></div>

<script>

function wait(ms) {
    var d = new Date();
    var d2 = null;

    do {
        d2 = new Date();
    }
    while (d2 - d < ms);
}

function runTest() {
    var cnt = 0;

    while (cnt < 50) {
        var x = document.getElementById("here");
        x.innerHTML += "X + ";
        wait(2000);
        cnt++;
    }
}

</script>

函数等待(毫秒){
var d=新日期();
var d2=null;
做{
d2=新日期();
}
d2-d
我不认为您的
wait()
函数正在做您所期望的事情:它被实现为一个循环,在一段时间内占用尽可能多的资源。您可以在下一个示例中检查这一点,其中显示两个日志(一个在
wait()
之前,一个在
wait()之后),但仅当
wait()函数停止占用资源时:

函数等待(毫秒)
{
var d=新日期();
var d2=null;
做{
d2=新日期();
}
d2-d

.as console{background color:black!important;color:lime;}
我不认为您的
wait()
函数正在做您期望的事情:它被实现为一个循环,在一段时间内占用尽可能多的资源。您可以在下一个示例中检查这一点,其中显示两个日志(一个在
wait()
之前,一个在
wait()之后),但仅当
wait()函数停止占用资源时:

函数等待(毫秒)
{
var d=新日期();
var d2=null;
做{
d2=新日期();
}
d2-d

。作为控制台{背景色:黑色!重要;颜色:石灰;}
您最好使用setInterval()。Javascript没有线程化,等待将导致每次点击它时整个执行停止。很少有实例可以使用wait()。相反,您需要设置一个间隔,以每X秒运行一次

因此,下面的代码将设置一个函数每2秒运行一次,每当计数达到50,它就会向dom发送一条消息,告诉它不再运行该函数

function divBunches() {
  var elem = document.getElementById("here"); 
  var id = setInterval(addDiv, 2000);
  var count = 0;
  function addDiv() {
    if (count == 50) {
      clearInterval(id);
    } else {
      elem.innerHTML += "X + ";
    }
    count++;
  }
}

您最好使用setInterval()。Javascript没有线程化,等待将导致每次点击它时整个执行停止。很少有实例可以使用wait()。相反,您需要设置一个间隔,以每X秒运行一次

因此,下面的代码将设置一个函数每2秒运行一次,每当计数达到50,它就会向dom发送一条消息,告诉它不再运行该函数

function divBunches() {
  var elem = document.getElementById("here"); 
  var id = setInterval(addDiv, 2000);
  var count = 0;
  function addDiv() {
    if (count == 50) {
      clearInterval(id);
    } else {
      elem.innerHTML += "X + ";
    }
    count++;
  }
}

如何实现
wait()
方法?您想做的事情更适合于使用
setInterval()
。最“正常工作”的
wait
函数肯定不能正常工作,因为它不能在JavaScript中正常工作,不管它是如何实现的。wait的实现方式与上述编辑一样。如何实现
wait()
方法?您想做的事情更适合于使用
setInterval()
。最“正常工作”的
wait
函数肯定不能正常工作,因为它在JavaScript中无法正常工作,无论它是如何实现的。wait的实现方式与上述编辑相同。