gpt4 book ai didi

javascript - 设置超时和for in循环

转载 作者:行者123 更新时间:2023-11-28 12:47:18 25 4
gpt4 key购买 nike

function createDivs(){ 
var styleHash = {};
vertical=0;
horizontal=0;
var h;
var aDiv
var colour;
var groupStyle;
for(key in elHash){
h=elArr[0][zIndex[key]]/elHash[key];
colour = randomColor();
setLocation(h,elHash[key]);
var container = document.getElementById('container');
styleElements(container,'width',(scrnWidth-40)+'px');
styleElements(container,'height',(scrnHeight-200)+'px');
aDiv = implementDOMelement(container,'div', '');
groupStyle = function() {
styleElements(aDiv ,vposition,vertical+'px');
styleElements(aDiv ,hposition,horizontal+'px');
styleElements(aDiv ,'backgroundColor', colour);
styleElements(aDiv ,'width', elHash[key]+'px');
styleElements(aDiv ,'height', h+'px');
styleElements(aDiv ,'zIndex', zIndex[key]);
if (colour =='#ffffff'){styleElements(aDiv ,'border', 'solid');}
}
setTimeout( groupStyle ,1000);
}
}

function randomColor(){
var colorR;
var colorG;
var colorB;
colorR = randomNumber(0,255);
colorG = randomNumber(0,255);
colorB = randomNumber(0,255);
return 'rgb('+colorR+','+colorG+','+colorB+')';
}

function implementDOMelement(parentNode, elementType,innHTML, attributes ){//
var element = document.createElement(elementType);
for (key in attributes){
element.setAttribute(key,attributes[key]);
}
element.innerHTML = innHTML;
parentNode.appendChild(element);
return element;
}

function styleElements(aNode,cssProperty,cssVal){
aNode.style[cssProperty]=cssVal;
}

为什么“setTimeout”只执行一次而不是每次迭代都执行?好吧,我的目标是每秒弹出一个 div!没有放置所有代码,但无需 setTimeOut 和 groupStyle(代码不在函数中)即可正常工作

10 倍感谢您的帮助,BR

最佳答案

它在每个循环上执行,但所有 10 个循环都是同时执行的。循环非常快地遍历列表,并且当循环完成时,可能没有发生任何超时。

如果您希望每 1 秒执行一次 aFunc,请使用 setInterval 或在每次执行后将 setTimeout 时间增加 1000迭代。

关于javascript - 设置超时和for in循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6285951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com