JavaScript向div添加文本的延迟时间

3
我想使用Javascript将文本添加到HTML元素(例如p标签)15次,并且每次添加文本后必须等待一秒钟。
我尝试了一些方法,但没有得到正确的结果。它在15秒后添加了所有15个文本。
我该怎么办?请帮帮我。
3个回答

1
var i = 0;
var element = document.getElementById("mydiv");
var interval = setInterval(function(){
         if(i <= 14){
              element.innerHTML += "sometext";
              }else{
            clearInterval(interval);
           }
        i++;
 },1000);

我需要使用JavaScript而非jQuery来完成它。 - Mohammad Javad Naderi
@MJNaderi 是的抱歉,现在已经修复了。 - itsme

1

这是使用setTimeout的功能性方法

function addText(text,total) {
    setTimeout(function() {
        total--;
        if(total == 0) {
         return true;   
        }
       addText(text,total);        
    },1000);

    document.getElementById('myDiv').innerHTML += text;
}

使用方法:

addText("sometext",15);

工作的 JSFiddle:http://jsfiddle.net/HNpQp/1/

0
var i = 0;    
var element = document.getElementById("mydiv");

var interval = setInterval(function(){
     if(i <= 14){
          element.innerHTML += "sometext";
          }else{
        clearInterval(interval);
       }
    i++;

 },1000);

innerHTML不是一个方法


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接