Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, estou precisando de uma ajudinha neste meu script!!!
Quando dá a hora de chamar a função "trocaImg()" com o setTimeout, ele chama perfeitamente, mas ao invés de carregar a nova imagem, ele esta chamando a mesma imagem que a página carregou ao ser carregada inicialmente.
É como se ele chamasse a função mais não a atualizasse e só estivesse carregando o bloco de script que foi carregado ao entrar no site, ou seja, ele não esta fazendo a leitura das condições (if, else) da função chamada..
var d = new Date();
var hora = d.getHours();
var horaAtualemMilisegundos = (hora * 3600000) + (d.getMinutes() * 60000) + (d.getSeconds() * 1000) + d.getMilliseconds(); //transforma hora atual em milisegundos
var resto; // tempo restante para chamar a função na hora pre-determinada.
if ((hora >= 6) && (hora < 12)) { //manhã
resto = 43200000 - horaAtualemMilisegundos; // tempo que resta para chamar a função as 12:00 hs.
} else if ((hora >= 12) && (hora <= 18)) { //tarde
resto = 64800000 - horaAtualemMilisegundos; // tempo que resta para chamar a função as 18:00 hs.
} else if ((hora >= 0) && (hora < 6)) { //noite
resto = 21600000 - horaAtualemMilisegundos; // tempo que resta para chamar a função as 06:00 hs.
} else { //noite de >18 e <0 horas
clearInterval(chamaFuncao); //suspende a ação do setTimeout temporariamente
}
var chamaFuncao = setTimeout("trocaImg()",resto); //chama a função.
function trocaImg() { //Troca a imagem de manhã de tarde e de noite
var imagem = "noite.jpg";
if ((hora >= 6) && (hora < 12)) {
imagem = "manha.jpg";
} else if ((hora >= 12) && (hora < 18)) {
imagem = "tarde.jpg";
}
document.getElementById('background').src = imagem;
}
Desde já estou agradeço pela ajuda dos senhores...
Carregando comentários...