Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia,
Galera estou tentando executar um código simples que crie mais não roda, segue abaixo:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="[http://www.w3.org/1999/xhtml">](http://www.w3.org/1999/xhtml)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script language="JavaScript">
function relogio(){
hora = <?php echo date("H:i:s"); ?>;
document.getElementById('relog').innerHTML = hora;
setTimeout("relogio()",1000);
}
</script>
</head>
<body onload="relogio()">
<div id="relog"></div>
</body>
</html>
ps:. alguem pode me ajudar?
>
você tem que fazer é criar uma outra função para essa hora alimentar o ID que você quer, você colocou tudo "dentro da mesma"
o onload tem que puxar a função que tem o setTimeout e a setTimeout puxa a função relogio()
Já tentei mais mesmo assim não funcionou, engraçado você falar isso porque já vi muitos funcionando na internet tudo dentro de uma .. mais nada com o que quero. Vou continuar tentando.
O código abaixo está funcionando. Copie e cole em seu editor HTML para testar o efeito (salve com extensão PHP):
<head>
<title>Untitled Document</title>
<script type="text/javascript">
var i = 0;
function relogio(){
var frase = "<?php echo 'O valor de i é: ' ?>";
//alert (frase);
var objDiv = document.getElementById("relog");
objDiv.innerHTML = frase+i;
i++;
window.setTimeout("relogio()",1000);
}
</script>
</head>
<body onload="relogio()">
<div id="relog"></div>
</body>
</html>
O problema pode ser no PHP. Lembre-se que o PHP, sem AJAX, roda apenas 01 (uma) única vez antes do JavaScript, ou seja, não possibilita loops como no JS (exceto se a página for recarregada).
ola Pessoal, tenho uma duvida, se eu verificar quando o 'dom' estiver pronto e colocar a funcao 'relogio()' dentro, nao funciona. Queria saber porq.
Tipo
<script type="text/javascript">
var i = 0;
function relogio(){
var frase = "<?php echo 'O valor de i é: ' ?>";
//alert (frase);
var objDiv = document.getElementById("relog");
objDiv.innerHTML = frase+i;
i++;
window.setTimeout("relogio()",1000);
}
</script>
e ASSim nao FUNciona
<script type="text/javascript">
$(document).ready(function()){
var i = 0;
function relogio(){
var frase = "<?php echo 'O valor de i é: ' ?>";
//alert (frase);
var objDiv = document.getElementById("relog");
objDiv.innerHTML = frase+i;
i++;
window.setTimeout("relogio()",1000);
}
});
</script>
Alguem pode me explicar?
var frase = "<?php echo 'O valor de i é: ' ?>";
Isso não existe...
Use o objeto data do próprio javascript para isso:
var data = new Date();
var dia = data.getDate();
var mes = data.getMonth();
var ano = data.getFullYear();>
var frase = "<?php echo 'O valor de i é: ' ?>";
Isso não existe...
Não sei se meu raciocínio foi de difícil compreensão... mas vamos lá...
O que eu propus com o script que postei é um "teste", com o único propósito de mostrar o funcionamento do setTimeout... e não criar o script para o amigo...
É lógico que ele deverá utilizar os recursos do JavaScript... mas pensei que não fosse necessário mencionar isso... http://forum.imasters.com.br/public/style_emoticons/default/no.gif
você tem que fazer é criar uma outra função para essa hora alimentar o ID que você quer, você colocou tudo "dentro da mesma"
o onload tem que puxar a função que tem o setTimeout e a setTimeout puxa a função relogio()