Ir para conteúdo

Arquivado

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

Zoação

Existe algum tipo de "script" que diga "bom dia", &#34

Recommended Posts

Queria saber se há algum script que de acordo com o horário escreva na página:

 

- Bom dia

- Boa tarde

- Boa noite

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Você pode montar um !

 

É só pegar a hora e fazer alguns if's que você chega no que precisa.

 

1 - Pegamos a hora.

2 - Se hora entre 6 e 12 igual a manhã.

3 - Se hora entre 12 e 18 igual a tarde.

4 - Se hora entre 18 e 24 igual a noite.

 

Simples não?

 

Segue a 'receitinha' de bolo e monte algo que vamos lhe ajudando com as dúvidas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa é isso mesmo que nossos companheiros falaram a cima no caso ja que o angelorubim falou a receita de bolo! eu te mostrarei o bolo ja pronto ;)

 

var data = new Date();
var hora = data.getHours();   

if(hora >= 0 && hora <= 12){
alert("Bom Dia");
}
if(hora > 12 && hora <= 18){
alert("Boa Tarde");
}
if(hora > 18 && hora <= 24){
alert("Boa Noite");
}


Para voce que esta iniciando tambem em javascript te recomendo aprender por este livro aqui:

 

LV239264_N.jpg

 

 

muito bom inclusive todos os livros da serie use a cabeça! ele nao poe ser o livro mais receente assim mas pelo que vi se vc entende ele qualquer codigo seja jquery ajax json entre outros vc aprende numa boa!

Compartilhar este post


Link para o post
Compartilhar em outros sites

para ser impresso na tela de qual forma? dentro de um campo de texto ou de uma div??

 

ok tanto faz vou explicar os 2!

 

para ser colocado dentro de uma div usa-se o codigo:

 

document.getElementById('id da div').innerHTML = "conteudo!"; // comando para ser inserido dentro de uma div

document.getElementById('id do campo de texto').value = "conteudo!";// comando para ser inserido dentro de um campo de texto

 

agora no seu caso voce devera implementar este javascript junto aos comandos acima entao! voce nao dara mais um alert e sim armazenara as frases (manha,tarde,noite) dentro de variaveis e com o codigo acima ira substituir. Abaixo esta o codigo:

 

<script>
$(window).load(function() {
var data = new Date();
var hora = data.getHours();   

if(hora >= 0 && hora <= 12){
var texto = "Bom Dia";

}
if(hora > 12 && hora <= 18){
var texto = "Boa Tarde";

}
if(hora > 18 && hora <= 24){
var texto = "Boa Noite";

}
document.getElementById("horario_div").innerHTML = texto; // insere em uma div
document.getElementById("campo_texto").innerHTML = texto; // insere em um campo de texto

});
</script>

<div id="horario_div"></div>
<input type="text" id="campo_texto" value="" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

oh sim deve ser por causa do jquery que ainda nao foi inserido!

 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>

 

e troque isto:

 

document.getElementById("campo_texto").innerHTML = texto; // insere em um campo de texto

por isto:

 

document.getElementById("campo_texto").value = texto; // insere em um campo de texto

 

o que o companheiro @cristianoolv falou tambem é outra opção!



Caso nao queria usar jquery voce devera especificar no body a funçao de onload() e mandar executar uma função dessa maneira:

 

 

<script>
function datar(){

var data = new Date();
var hora = data.getHours();   

if(hora >= 0 && hora <= 12){
var texto = "Bom Dia";

}
if(hora > 12 && hora <= 18){
var texto = "Boa Tarde";

}
if(hora > 18 && hora <= 24){
var texto = "Boa Noite";

}
document.getElementById("horario_div").innerHTML = texto; // insere em uma div
document.getElementById("campo_texto").value = texto; // insere em um campo de texto

}
</script>
<body onload="datar()">

<div id="horario_div"></div>
<input type="text" id="campo_texto" value="" />
</body>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

Quanto a "escrever" está ok.

Porém notei que por exemplo:

 

são 18:30, ele exibe "Boa tarde" ao invés de "Boa noite" ...

já se mudo o horário do relógio para "19:30" ele então exibe "Boa noite"...

 

por isso??

Compartilhar este post


Link para o post
Compartilhar em outros sites

são 18:30, ele exibe "Boa tarde" ao invés de "Boa noite" ...

 

correto pois esta certo! depende da região onde se está.

Em alguns pontos do Planeta essa hora já é noite, em outras ainda dia.

Portando pode-se usar as 2 sem medo de erro.

 

 

 

á se mudo o horário do relógio para "19:30" ele então exibe "Boa noite"...

 

aqui ele mudou para boa noite mano! a na ser se vc estiver testando isso online ou seja no servidor online! mas no servidor local ficou de boa! tentou dar refresh? algo do tipo??

Compartilhar este post


Link para o post
Compartilhar em outros sites

correto pois esta certo! depende da região onde se está.

Em alguns pontos do Planeta essa hora já é noite, em outras ainda dia.

Portando pode-se usar as 2 sem medo de erro.

 

 

 

 

aqui ele mudou para boa noite mano! a na ser se vc estiver testando isso online ou seja no servidor online! mas no servidor local ficou de boa! tentou dar refresh? algo do tipo??

 

Então,

 

Eu utilizei Offline ... ou seja, à partir do relógio do computador mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

correto pois esta certo!

 

Na verdade não. A partir das 18:00 começa a noite.

 

Nós podemos dar uma "incrementada" nisso, facilitando o teste e suportando tradução:

 

var Greeter = function(resource, date) {
    this.resource = resource;
    this.date = date;
};
Greeter.prototype.greet = function() {
    var hour = this.date.getHours();

    if (hour >= 0 && hour < 12) {
        return this.resource.goodMorning();
    }
    if (hour >= 12 && hour < 18) {
        return this.resource.goodAfternoon();
    }
    if (hour >= 18 && hour < 24) {
        return this.resource.goodEvening();
    }
};

var PortugueseGreeterResource = function() {};
PortugueseGreeterResource.prototype.goodMorning = function() {
    return 'Bom Dia!';
};
PortugueseGreeterResource.prototype.goodAfternoon = function() {
    return 'Boa Tarde!';
};
PortugueseGreeterResource.prototype.goodEvening = function() {
    return 'Boa Noite!';
};

 

E veja como fica fácil testar em todos os horários:

function testMorning() {
    var resource = new PortugueseGreeterResource();
    var date = new Date(2000, 01, 15, [0]);
    var greeter = new Greeter(resource, date);

    console.log(greeter.greet());
}
function testAfternoon() {
    var resource = new PortugueseGreeterResource();
    var date = new Date(2000, 01, 15, [12]);
    var greeter = new Greeter(resource, date);

    console.log(greeter.greet());
}
function testEvening() {
    var resource = new PortugueseGreeterResource();
    var date = new Date(2000, 01, 15, [18]);
    var greeter = new Greeter(resource, date);

    console.log(greeter.greet());
}

testMorning();
testAfternoon();
testEvening();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bacana a sugestão @Enrico Pereira, parabéns.

 

PS: apaguei os outros posts que em nada ajudavam o tópico.

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.