在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中显示 并且还能够需要的时候隐藏或者显示
也可以用 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中添加数据的主要内容,如果未能解决你的问题,请参考以下文章