Boa tarde
O meu problema é o seguinte o temporizador setTimeout() não espera os 9 segundos que especifiquei para executar a função, não sei o porquê disso acontecer. Ele é chamado dentro de um bloco else, antes disso tem um pequeno script que troca o fundo de uma div, ai depois de 9 segundos ele viria e também trocaria o fundo, mas ele vem antes.
Meu código :TV Script
<div id="borda">
<div id="tela">
</div>
<div id="liga-desliga" onclick="LigaDesligaTv()">
</div>
<div id="muda1">
</div>
<div id="muda2">
</div>
</div>
<div id="controle">
<div id="led">
</div>
<button id="power" onclick="LigaDesligaTv()">p</button>
<button id="Bum">1</button>
<button id="Bdois">2</button>
<button id="Btres">3</button>
<button id="Bquatro">4</button>
<button id="Bcinco">5</button>
<button id="Bseis">6</button>
<button id="Bsete">7</button>
<button id="Boito">8</button>
<button id="Bnove">9</button>
</div>
<script>
var cont = 0;
function desligada(){
document.getElementById("tela").style.backgroundImage = "url('imagens/batman.jpeg')";
}
function LigaDesligaTv(){
if(cont == 0){
document.getElementById("tela").style.backgroundImage = "url('imagens/tvchiado.gif')";
cont++;
}
else{
document.getElementById("tela").style.backgroundImage = "url('imagens/tvdesligando.gif')";
setTimeout(desligada(),9000);
cont = 0;
}
}
</script>
</body>