it4life - Portal de Informática

RaFi


1.0 user
3 posts

ola..estou farto de fazer o seu tutorial do calendario e relogio e nao consigo arranjar maneira de por aquilo a dar!!
sera que alguem me pode ajudar...

jfrosorio


junkie user
93 posts

Mas qual é o problema em concreto?
A prática vale muito, mas é a vontade de ir mais longe que garante o sucesso.

RaFi


1.0 user
3 posts

é assim...eu o que quero mesmo é so o calendario!!mas nao sei o k s passa k quando faxo f12 nao aparece la nd!!td em branco...apareceram m alguns erros de codigo copiando o seu codigo,mas tirei os e nd!

jfrosorio


junkie user
93 posts

Em que browser está a testar?
A prática vale muito, mas é a vontade de ir mais longe que garante o sucesso.

RaFi


1.0 user
3 posts

google chrome...

jfrosorio


junkie user
93 posts

Eu não compreendo a origem do problema. Testei o script no IE, FF, Chrome e Safari e funciona em todos.
Já vários utilizadores usaram o mesmo script e até agora nenhum teve problemas. Provavelmente o teu script contém gralhas e por isso não corre...
Experimenta fazer o download dos ficheiros originais e testa para ver se funcionam.


A prática vale muito, mas é a vontade de ir mais longe que garante o sucesso.

San


1.0 user
3 posts

Boas!

Estou com o mesmo problema!

Pode me dizer aonde fazer o download dos ficheiros originais??

Grato


jfrosorio


junkie user
93 posts

Olá San,
Os ficheiros originais já não estão disponíveis para download aqui no fórum. Podes colar aqui o código que tás a usar, sff? Assim posso analisar melhor o problema. Se for mesmo necessário, depois envio-te os originais por mail, ok?


A prática vale muito, mas é a vontade de ir mais longe que garante o sucesso.

San


1.0 user
3 posts

Ok. (código está aqui abaixo v v v)

<html>
<head>
<title>Meu Calendário</title>
<script language="javascript">
function Relogio(){
    var novaHora = new Date();
    var horas = novaHora.getHours();
    var minutos = novaHora.getMinutes();
    var segundos = novaHora.getseconds();
    
    if (horas <10)
        horas = "0" + horas;
    if (minutos<10)
        minutos = "0" + minutos;
    if (segundos<10)
        segundos = "0" + segundos;
    
    hora_actual = horas + ' : ' + minutos ' : ' + segundos;
    document.form_calendario.relogio.value = hora_actual;
    setTimeout("Relogio()", 1000);
}

function Calendario(){
    var data = new Date();
    var ano = data.getFullYear();
    var mes = data.getMonth();
    var dia = data.getDate();
    var dia_Semana = data.getDay();
    
    var A_mes = new Array("Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro");
    var A_diaSem = new Array("Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb");
    
    data.setDate(1);
    
    calendario = '<center><table><tr><th colspan="7">' + A_mes[mes] + ' de ' + ano + '</th><tr>';
    
    calendario += '<tr>';
    for(var i=0; i<7; i++){
        if (dia_Semana == i)
            calendario += '<td><b>' + A_diaSem[i] + '</b></tb>';
        else
            calendario += '<tb>' + A_diaSem[i] + '</tb>';
    }
    calendario += '</tr>';
    
    for (i=0; i<data.getDay(); i++)
        calendario += '<tb></tb>';
        
    for (i=0; i<31; i++){
    
        if (data.getDate()>i){
            dia_Semana = data.getDay();
            if (dia_Semana == 0)
                calendario += '<tr>';
                
            if (dia_Semana != 7){
                if (dia = data.getaDate())
                    calendario += '<td><b>' + (i+1) + '</b></td>';
                else
                    calendario += '<td>' + (i+1) + '</td>';
            }
            
            if (dia_Semana == 7)
                calendario += '</tr>';
        
        }
        data.setDate(data.getDate() + 1);
    }
    
    calendario += '<tr><td colspan="7"><form name=#form_calendario><input type="text" name="relogio" size="10" class="relogio" />
    </form></td></tr></table></center>';
    
    document.write(calendario);
}
</script>
</head>

<body onload="Relogio()">
<script language="javascript">
<!-- Calendario(); -->
</script>
</body>
</html>

 


jfrosorio


junkie user
93 posts

Tens vários erros, quer de HTML, quer de Javascript.
Para começar, deves definir um tipo de documento:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Na linha 10, tens o método getSeconds() mal escrito. Colocaste getseconds().
Depois, na linha 18, falta-te um sinal de +. Ou seja, não estás a concatenar corretamente as strings.
Na linha 70 tens:

form name=#form_calendario 

O cardinal é um indicador de id para as CSS. Não deve ser usado neste contexto. Os valores dos atributos dos elementos HTML devem estar entre aspas (").
De qualquer das formas, deixo-te aqui o código:

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Calendário Javascript</title>
<script type="text/javascript" language="javascript">
	function Relogio(){
		var novaHora=new Date(); //Date --> objecto Javascript
		var horas=new String(novaHora.getHours()); 				//getHours --> método do objecto Date --> retorna um valor entre 0 e 23
		var minutos=new String(novaHora.getMinutes());			//getMinutes --> método do objecto Date --> retorna um valor entre 0 e 59
		var segundos=new String(novaHora.getSeconds());			//getSeconds --> método do objecto Date --> retorna um valor entre 0 e 59
		//String --> objecto Javascript
			 
		if(horas<10)
			horas="0"+horas;
		if(minutos<10)
			minutos="0"+minutos;
		if(segundos<10)
			segundos="0"+segundos;
				
		hora_actual=horas + " : " + minutos + " : " + segundos;
		document.form_calendario.relogio.value=hora_actual; 
		contador=setTimeout("Relogio()",1000); //método do objecto Window
	}

	function Calendario(){
		var A_mes=new Array("Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro");  
		var A_diaSem=new Array("Dom","Seg","Ter","Qua","Qui","Sex","Sáb");
		//Array --> objecto javascript
			
		var data=new Date(); 				//Date --> objecto Javascript
		var ano=data.getFullYear(); 		//getFullYear --> método do objecto Date --> retorna o ano actual no formato completo
		var mes=data.getMonth();			//getFullYear --> método do objecto Date --> retorna o mes com um valor entre 0 e 11
		var dia=data.getDate();				//getFullYear --> método do objecto Date --> retorna o dia actual
		var dia_Semana=data.getDay();		//getFullYear --> método do objecto Date --> retorna o dia da semana (valor entre 0 e 6)
		
		data.setDate(1);  					//atribuir ao objecto Date o valor 1
		data.setMonth(mes);					//atribuir ao objecto Date o 
	
		calendario='<center><table align="center" cellspacin="0"><tr><th colspan="7">' + A_mes[mes] + ' de ' + ano + '</th></tr>';
		
		//dias da semana
		calendario+='<tr>';
		for(i=0; i<7; i++){
			if(dia_Semana==i)
				calendario+='<td class="realceSemana"><b>' + A_diaSem[i] + '</b></td>';
			else
				calendario+='<td class="semana">' + A_diaSem[i] + '</td>';
		}
		calendario+='</tr>';
		
		
		//dias da semana
		for(i=0; i<data.getDay(); i++)
			calendario+='<td width="10">' + ' ' + ' </td>';
		
		for(i=0; i<31; i++){
			//if(data.getDate()>i){
				dia_Semana=data.getDay();
				if(dia_Semana==0)
					calendario+='<tr>';
				if(dia_Semana!=7){
					var diasMes=data.getDate();
					if(dia==data.getDate())
						calendario+='<td class="realceDia"><b>' + diasMes + '</b></td>';
					else
						calendario+='<td width="25">' + diasMes + '</td>';
				}
				if(dia_Semana==7)
					calendario+='</tr>';
			//}
			data.setDate(data.getDate()+1);
		}
		
		calendario+='<tr><td colspan="7" align="center"><form name="form_calendario"><input type="text" name="relogio" size="9" class="relogio" /></td></form>';
		calendario+='</tr></table></center>';
	}
</script>
</head>

<body onload="Relogio()">
    <script type="text/javascript">
	<!--
		Calendario();
		document.write(calendario);
	-->
	</script>
     
    
</body>
</html>

Já testei e está a funcionar. Se tiveres mais alguma dúvida, não hesites em perguntar. Espero que desta vez consigas por tudo a funcionar! Abraço


A prática vale muito, mas é a vontade de ir mais longe que garante o sucesso.

San


1.0 user
3 posts

Muito obrigado!

Já funciona!

Realmente tenho de ter mais atenção..

 

Obrigado pela dica!

 

Valew!

 


jfrosorio


junkie user
93 posts

Sempre às ordens. Sempre que tiveres alguma dúvida, já sabes que tens um fórum com que podes contar!


A prática vale muito, mas é a vontade de ir mais longe que garante o sucesso.

Segue-nos nas redes sociais