Buscar

Rss Artículos

Foro

Autor

 

Artículos en ‘Javascript’

Vaciar una capa con Javascript

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.

51 tutoriales y ejemplo de Jquery

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.

Cambiar la clase de un elemento en tiempo de ejecución con javascript

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

Menús javascript

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.

Java en javascript

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.

Función javascript para validar fechas

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.

  1. function validarFecha(fecha) {
  2. try{
  3. var fecha = fecha.split("/");                  
  4. var dia = fecha[0];
  5. var mes = fecha[1];
  6. var ano = fecha[2];                    
  7. var estado = true;     
  8. if ((dia.length == 2) && (mes.length == 2) && (ano.length == 4)) {             
  9. switch (parseInt(mes)) {
  10. case 1:dmax = 31;break;
  11. case 2: if (ano % 4 == 0) dmax = 29;
  12.  else dmax = 28;
  13.  break;
  14. case 3:dmax = 31;break;
  15. case 4:dmax = 30;break;
  16. case 5:dmax = 31;break;
  17. case 6:dmax = 30;break;
  18. case 7:dmax = 31;break;
  19. case 8:dmax = 31;break;
  20. case 9:dmax = 30;break;
  21. case 10:dmax = 31;break;
  22. case 11:dmax = 30;break;
  23. case 12:dmax = 31;break;
  24. }
  25. dmax!=""?dmax:dmax=-1;
  26.        
  27. if ((dia >= 1) && (dia <= dmax) && (mes >= 1) && (mes <= 12)) {
  28. for (var i = 0; i < fecha[0].length; i++) {
  29. diaC = fecha[0].charAt(i).charCodeAt(0);
  30. (!((diaC > 47) && (diaC < 58)))?estado = false:;
  31. mesC = fecha[1].charAt(i).charCodeAt(0);
  32. (!((mesC > 47) && (mesC < 58)))?estado = false:;
  33. }
  34. }
  35.        
  36. for (var i = 0; i < fecha[2].length; i++) {
  37. anoC = fecha[2].charAt(i).charCodeAt(0);
  38. (!((anoC > 47) && (anoC < 58)))?estado = false:;
  39. }
  40.  
  41. }else estado = false;                  
  42. return estado;
  43. }catch(err){
  44.         alert("Error fechas");
  45. }

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 :D