Problema com relogio em Javascript

Fil__

Power Member
Boa tarde pessoal
Tenho um "relogio" que possui horas (funciona), data (funciona) e uma mensagem que diz "Bom dia", "Boa tarde" ou "Boa noite" conforme a hora (nao funciona). Nao consigo perceber porquê até porque de java nao percebo nada (isto foi uma mistura de 3 codigos diferentes que fui mexendo a ver o que dava :D ). Podem ajudar?
Código:
function startTime()
{
var dayarray=new Array("Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado")
var montharray=new Array("Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro")
var statusarray=new Array("Bom Dia", "Boa Tarde", "Boa Noite")
var today=new Date()
var year=today.getYear()
if (year < 1000)
year+=1900
var day=today.getDay()
var month=today.getMonth()
var daym=today.getDate()
if (daym<10)
daym="0"+daym

var h=today.getHours()
var m=today.getMinutes()
var s=today.getSeconds()

// add a zero in front of numbers<10
m=checkTime(m)
s=checkTime(s)
a=checkStatus(h)

document.getElementById('data').innerHTML=h+":"+m+":"+s
document.getElementById('data1').innerHTML=dayarray[day]+", "+daym+" de "+montharray[month]+" de "+year
document.getElementById('data2').innerHTML=statusarray[a]
t=setTimeout('startTime()',500)
}
function checkTime(i)
{
if (i<10) 
  {i="0" + i}
  return i
}
function checkStatus(h)
{
if(h<12)
{"Bom Dia,"}
else
if(h<18)
{"Boa Tarde,"}
else
{"Boa Noite,"}
}
</script>
 
Assim de relance...
Onde tens "Bom Dia," substitui por return "Bom Dia,";
E o mesmo para o tarde e noite.

by the way, it's javascript ;)

Boa tarde pessoal
Tenho um "relogio" que possui horas (funciona), data (funciona) e uma mensagem que diz "Bom dia", "Boa tarde" ou "Boa noite" conforme a hora (nao funciona). Nao consigo perceber porquê até porque de java nao percebo nada (isto foi uma mistura de 3 codigos diferentes que fui mexendo a ver o que dava :D ). Podem ajudar?
Código:
function startTime()
{
var dayarray=new Array("Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado")
var montharray=new Array("Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro")
var statusarray=new Array("Bom Dia", "Boa Tarde", "Boa Noite")
var today=new Date()
var year=today.getYear()
if (year < 1000)
year+=1900
var day=today.getDay()
var month=today.getMonth()
var daym=today.getDate()
if (daym<10)
daym="0"+daym

var h=today.getHours()
var m=today.getMinutes()
var s=today.getSeconds()

// add a zero in front of numbers<10
m=checkTime(m)
s=checkTime(s)
a=checkStatus(h)

document.getElementById('data').innerHTML=h+":"+m+":"+s
document.getElementById('data1').innerHTML=dayarray[day]+", "+daym+" de "+montharray[month]+" de "+year
document.getElementById('data2').innerHTML=statusarray[a]
t=setTimeout('startTime()',500)
}
function checkTime(i)
{
if (i<10) 
  {i="0" + i}
  return i
}
function checkStatus(h)
{
if(h<12)
{"Bom Dia,"}
else
if(h<18)
{"Boa Tarde,"}
else
{"Boa Noite,"}
}
</script>
 
O problema continua, nao da o Boa Tarde (a esta hora inda e tarde)...

Da maneira como tens o script feito, na função checkStatus terás de retornar 1 número, para fazer corresponder com: var statusarray=new Array("Bom Dia", "Boa Tarde", "Boa Noite"); cada saudação é um indice.

Terias de usar algo deste tipo:

PHP:
function checkStatus(h){
  if(h<12) {return 0;}
  else if(h<18) {return 1; }
  else {return 2; }
}
 
Última edição:
Back
Topo