JavaScript Closures e setTimeout
Closures são algo que ainda não compreendo totalmente em JS. Eu acho que isso é uma questão de fechamento. Estou tentando criar uma barra de progresso. A cada x segundos, quero aumentar a largura de um DIV. Aqui está a parte que deve fazer isso:
for(i=0;i<=counter;i++){
setTimeout(function (){
myDiv.style.width = wIncrement+"px"
timeIncrement++;
wIncrement++;
},timeIncrement*1000);
}
O que eu quero que aconteça é a cada x segundos, aumente o tamanho da barra. Se é claro, não é isso que está acontecendo.
Tenho certeza (espero) que esse seja um problema de fechamento, mas a sintaxe para misturar com um setTimout me deixa completamente confusa. Alguém pode me ajudar a entender os conceitos necessários para corrigir o problema de fechamento neste exemplo?