Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Zoação

Porque não funciona? Preciso que redirecione de acordo com o horário..

Recommended Posts

Estranho, porque não funciona...

 

<script language="JavaScript">
var objData =new Date();
var hora = objData.getHours();
if(hora <= 18) {
window.location.href =  'dia.html';
}
else {
window.location.href = 'noite.html';
}
</script>

 

Quando tento executar no servidor, ele parece não executar... fica tudo em branco...

Compartilhar este post


Link para o post
Compartilhar em outros sites

if(hora <= 18) {

alert('dia');

//window.location.href = 'dia.html';

}

else {

alert('noite');

//window.location.href = 'noite.html';

}

 

teste e veja o que retorna..

Compartilhar este post


Link para o post
Compartilhar em outros sites

if(hora <= 18) {

alert('dia');

//window.location.href = 'dia.html';

}

else {

alert('noite');

//window.location.href = 'noite.html';

}

 

teste e veja o que retorna..

 

hinom,

 

Agora está realmente funcionando sim. Obrigado!

 

 

Mas, tenho duas dúvidas a respeito, veja:

 

 

1. Porque quando altero para "18:01" meu relógio, o script entende como se fosse ainda DIA? Já se altero para 19:01 ele diz que é NOITE? Não seria noite à partir das 18h?

 

2. Como faço para trabalhar com intervalo de horário? É que preciso fazer o seguinte:

 

De 18:00 às 01:45 fosse para a página aberto.php e nos demais horários, fosse para fechado.html

 

No mais, obrigado pela ajuda!!

 

:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

1. A condicional está verificando somente a hora.

Para o seu caso, basta remover o comparador de igualdade (=):

if(hora <= 18) {
:seta:

if(hora < 18) {

 

2. Basta criar outra condicional.

 

var minute = objData.getMinutes();

if(hora > 8 && hora < 18) {
   // morning
   alert('dia');
}else{
   // evening
   if( ( hora > 18 && ( hora < 23 && minute <= 59 ) ) || ( hora < 1 && minute <= 45 ){
      // open
      alert('noite: aberto');
   }else{
      // closed
      alert('noite: fechado');
   }
}

*não testei.. fui digitando aqui diretamente..

Há outras formas de se resolver.. não quer dizer que seja "a solução definitiva". Fiz o mais simples possível para vc entender.

 

 

Outra observação, defini hora de início da manhã como 8 da manhã porque acho que precisa definir.

 

Ficou assim:

Manhã 8:00 ~ 18:00

Noite (aberto): 18:00 ~ 1:45 da manhã

Noite (fechado): o que sobrou ( 1:45 ~ 8:00 )

 

sacou?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.