大家好,我是javascript的新手,我一直在搞乱它,我想知道是否有任何机会控制该事件,导致输出例如“ for循环”之类的东西,这就是我的意思。必须:
var stuff= ["cat","dog","parrot","wolf"];
var output = "";
for(var i = 0; i < stuff.length; i++){
output += stuff[i] + "</br>";
}
document.getElementById("result").innerHTML = output;
它将在我的div'结果'中输出:
cat
dog
parrot
wolf
我一直想做的是在每个输出之间设置1秒的间隔...所以猫首先出现,然后在狗之后出现第二个,依此类推...这可能吗?提前致谢
是的,这是可能的,您可以使用setTimeout(function_to_call,1000);
在您的for循环中,您可以在每次迭代中使用setTimeout,但是时间随着i的增加而增加,以便将内容每秒附加到#result:
var stuff= ["cat","dog","parrot","wolf"];
for(var i = 0; i < stuff.length; i++)
{
var func = function(index)
{
setTimeout(function()
{
document.getElementById("result").innerHTML += stuff[index] + "<br/>";
}, 1000*index);
}
func(i);
}
<p id="result"></p>
var func = function(index)
{
setTimeout(function()
{
document.getElementById("result").innerHTML = document.getElementById("result").innerHTML + stuff[index] + "<br/>";
}, 1000*index);
}
func(i);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句