1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Problema com relogio em Javascript

Discussão em 'Web Development' iniciada por Fil__, 6 de Outubro de 2008. (Respostas: 4; Visualizações: 752)

  1. Fil__

    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>
    
     
  2. krunch

    krunch Power Member

    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 ;)

     
  3. Fil__

    Fil__ Power Member

    O problema continua, nao da o Boa Tarde (a esta hora inda e tarde)...
     
  4. p3dro

    p3dro Power Member

    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: 6 de Outubro de 2008
  5. Fil__

    Fil__ Power Member

    Brigadao p3dro, era isso mesmo. Ja esta a bombar como queria. Brigadao pessoal
     

Partilhar esta Página