在JavaScript中如何循环如何往div中添加数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在JavaScript中如何循环如何往div中添加数据相关的知识,希望对你有一定的参考价值。

<div id="fu" > <img src="tourlogin.gif" onmousedown="bbb()" onmouseover="aaa()" alt="" /><div id="zi" style="display:none">aaaaaaaaa</div></div>
上面只是显示一个div层
<script type="text/jscript">
function aaa()


document.getElementById("zi").style.display="";
// document.getElementById("layer3").style.display="";

function bbb()

document.getElementById("zi").style.display="none";
// document.getElementById("layer3").style.display="none";

</script>
如何从数据库中将查询得到的结果循环放入div中显示 并且还能够需要的时候隐藏或者显示

参考技术A document.getElementById("div1").innerHTML += document.getElementById("div1").innerHTML+"<br />新数据";

也可以用 createElement()方法 和 appendChild()方法相结合
var newElement = document.createElement("p"); //创建 P 标签
var newText = document.createTextNode("这里是你的文本"); //创建文本标签
newElement.appendChild(newText); //将文本添加到P标签中
参考技术B 这样好像不能显示哦
要用一个有innerHTML属性的标签然后用JS来控制.
<input id="inputId" name="" value="25元" />
<table><tr>
<td id="tableTDId">25元</td><td >ff</td>
</tr></table>
<script type="text/javascript">
document.getElementById("tableTDId").innerHTML=document.getElementById("inputId").value;
</script>

如何在 JavaScript 循环中添加延迟?

【中文标题】如何在 JavaScript 循环中添加延迟?【英文标题】:How do I add a delay in a JavaScript loop? 【发布时间】:2011-04-04 18:23:20 【问题描述】:

我想在 while 循环中添加延迟/睡眠:

我试过这样:

alert('hi');

for(var start = 1; start < 10; start++) 
  setTimeout(function () 
    alert('hello');
  , 3000);

只有第一种情况为真:显示alert('hi')后,等待3秒,然后显示alert('hello'),然后alert('hello')不断重复。

我想要的是,在alert('hello')alert('hi') 之后显示3 秒之后,它需要等待3 秒第二次alert('hello') 等等。

【问题讨论】:

for(var i=0; i 【参考方案1】:

在我看来,在循环中添加延迟的更简单、最优雅的方法是这样的:

names = ['John', 'Ana', 'Mary'];

names.forEach((name, i) => 
 setTimeout(() => 
  console.log(name);
 , i * 1000);  // one sec interval
);

【讨论】:

【参考方案2】:

无功能解决方案

我参加聚会有点晚了,但是有一个不使用任何函数的解决方案:

alert('hi');

for(var start = 1; start < 10; start++) 
  setTimeout(() => alert('hello'), 3000 * start);

【讨论】:

这将以 3 秒为间隔安排 10 个警报,而不是在 alert() 清除后的 3 秒等待时间。如果第一个 alert() 没有在 30 秒内清除,其余的将不会在它们之间暂停。【参考方案3】:
var loop=(i,time)=>new Promise(r=>
 alert("aaa",i);
 if(i>0)
 setTimeout(()=>
    r([i-1,time]);
 ,time);
).then(v=>loop(v[0],v[1]))

loop(3,1000);

试试看

【讨论】:

这需要比“试试看”更好的描述。它也与此线程上的其他帖子非常相似。【参考方案4】:
const autoPlayer = (arr = [1, 2, 3, 4, 5]) => 
  // Base case:
  if (arr.length < 1) return

  // Remove the first element from the array.
  const item = arr.shift()

  // Set timout 
  setTimeout(() => 
    console.log('Hello, world!', item)  // Visualisation.
    autoPlayer() // Call function again.
  , 1000) // Iterate every second.

嘿,我知道这篇文章很老了,但是这段代码“循环”并使用递归方法为其添加了延迟。我认为您不能“实际上”根据从其他人那里读取各种 cmets 来延迟循环本身的迭代。也许这可以帮助某人!基本上该函数接受一个数组(在本例中)。在每次迭代中,都会调用 setTimeout Javascript 方法。当setTimeout 函数的计时器到期时,该函数会无限期地再次调用自身,但在每次调用时,数组都会变小,直到达到基本情况。我希望这可以帮助其他人。

【讨论】:

以上是关于在JavaScript中如何循环如何往div中添加数据的主要内容,如果未能解决你的问题,请参考以下文章

js如何使用for循环往json添加数据?

javascript如何在div的后面添加一个其他的元素

将元素数组添加到dom

如何在 JavaScript 循环中添加延迟?

如何用CSS往图片上嵌入文字??

用js怎样自动循环生成div?