Jun 17
Si estamos usando capas en nuestra aplicación y en un momento determinado necesitamos poner una de ellas “a nada” básicamente lo que se denomina vaciarla, podemos usar varios métodos.
El primero y más básico serÃa crearnos una página en blanco y mediante AJAX cargarla en esa capa, otro modo, mediante la propiedad innerHTML podemos poner el contenido a “” y por último usando DOM.
Esta última opción ha sido la seleccionada por mi compañero Alejandro, dado que innerHTML sólo se puede usar para el Internet Explorer y que no le apetecÃa crearse una página en blanco, por ello ha optado por usar esta función con DOM.
Yo, como buen partner he esperado a que la subiera al CVS para cogerla y postearla
function vaciarCapa(capa) {
var d = document.getElementById(capa);
while (d.hasChildNodes())
d.removeChild(d.firstChild);
}
Si quieres una función que sea válida para todos los navegadores y vacie correctamente una capa, úsala.
Jun 01
Para los amantes del trabajo fácil y el uso de Jquery, tenéis aquà una recopilación de 51 tutoriales con ejemplos sobre el uso de Jquery.
Para más información sobre jquery, visitar la página oficial.
May 21
Si estamos acostumbrados a trabajar con hojas de estilos, es posible que el atributo className nos venga muy bien, ya que con definir diferentes clases, en nuestro fichero css podremos gracias a javascript cambiar cualquier elemento con id de nuestro html de clase en tiempo de ejecución.
Para cambiar la case de un elemento deberemos utiliza el siguiente comando
document.getElementById(’elemento’).className = ‘clase’
Donde ‘elemento’ será el identificador y la clase la nueva clase, veamos un ejemplo.
<script>
function cambiarClase(){
document.getElementById(’boton1′).className = ‘clase2′
}
</script>
<input type=’button’ class=’clase1′ id=’boton1′ onclick=’cambiarClase()’>
Este ejemplo harÃa que cuando pulsáramos el botón1 este cambiara su clase, clase1 por la clase, clase2
May 03
Recopilación de 13 menús javascript de gran calidad para dotar a nuestras páginas de un toque de estilo y distinción.
Abr 29
Puede resultar un poco extraño pero John Resig se ha propuesto ejecutar o al menos imitar el funcionamiento de la Máquina virtual de Java en Javascript.
El proyecto de John se basó en Orto (la documentación está en japones) y permite compilar una aplicación en java, hacerla funcionar en Orto, el cual generará el código en javascript necesario e insertarlo en nuestra aplicación web.
Evidentemente esto no puede asegurar al 100% que todas las aplicaciones java se migren correctamente a javascript, pero como dice el autor, se pueden hacer “demos interesantes” como el juego del tetrix.
Abr 25
Esta función en Javascript nos permitirá de una forma rápida validar una fecha. Devolverá true o false dependiendo de si es correcta o no.
Para que sea más reutilizable, la fecha se le pasará como parámetro.
¿Qué validamos?
Esta función valida que el formato introducido sea dd/mm/yyyy, aunque se puede modificar de una forma sencilla.
Valida que todos los parámetros introducidos a excepción de las barras de separación “/” sean números.
También valida que el dÃa y el mes se correspondan entre ellos, por ejemplo, en Abril no permitir introducir dÃas mayores de 30.
Esta función también tiene en cuenta que cada 4 años es bisiesto.
-
function validarFecha(fecha) {
-
try{
-
var fecha = fecha.split("/");
-
var dia = fecha[0];
-
var mes = fecha[1];
-
var ano = fecha[2];
-
var estado = true;
-
if ((dia.length == 2) && (mes.length == 2) && (ano.length == 4)) {
-
switch (parseInt(mes)) {
-
case 1:dmax = 31;break;
-
case 2: if (ano % 4 == 0) dmax = 29;
-
else dmax = 28;
-
break;
-
case 3:dmax = 31;break;
-
case 4:dmax = 30;break;
-
case 5:dmax = 31;break;
-
case 6:dmax = 30;break;
-
case 7:dmax = 31;break;
-
case 8:dmax = 31;break;
-
case 9:dmax = 30;break;
-
case 10:dmax = 31;break;
-
case 11:dmax = 30;break;
-
case 12:dmax = 31;break;
-
}
-
dmax!=""?dmax:dmax=-1;
-
-
if ((dia >= 1) && (dia <= dmax) && (mes >= 1) && (mes <= 12)) {
-
for (var i = 0; i < fecha[0].length; i++) {
-
diaC = fecha[0].charAt(i).charCodeAt(0);
-
(!((diaC > 47) && (diaC < 58)))?estado = false:”;
-
mesC = fecha[1].charAt(i).charCodeAt(0);
-
(!((mesC > 47) && (mesC < 58)))?estado = false:”;
-
}
-
}
-
-
for (var i = 0; i < fecha[2].length; i++) {
-
anoC = fecha[2].charAt(i).charCodeAt(0);
-
(!((anoC > 47) && (anoC < 58)))?estado = false:”;
-
}
-
-
}else estado = false;
-
return estado;
-
}catch(err){
-
alert("Error fechas");
-
}
Posible fallo
Esta función no contempla que cada 400 años también es bisiesto, para arreglarlo tendrÃas que dividir el año entre 100 y si el resto es 0, divides el número de nuevo (el original) entre 400, si vuelve a ser 0 entonces ese año será bisiesto
Gracias a Sam por la aclaración
PD: Función optimizada 