Ir al contenido principal

Como crear un modal personalizado

Sólo se necesita saber un poco de HTML, JAVASCRIPT y CSS. ¡Empezemos!

Lo primero que tenemos que hacer es la estructura del modal (HTML), que sería una pequeña estructura HTML y también el botón con el cual haremos aparecer el modal. ¡Veamos!

Estructura del modal (HTML)

<input type="button" value="!Aparece!" onclick="funcion_aparecer()">
<div id="miModal">
    <p>Hola esto es un modal personalizado, acá podrás 
    todo el contenido que quieras</p>
    <input type="button" value="¡Cerrar modal!" onclick="funcion_cerrar()">
</div>
Ahora necesitamos que la estructura del modal aparezca "flotando" y al medio, para eso usamos CSS. ¡Veamos!

Código CSS

<style>
    #miModal{
        background  : #B3E6F0;
        border      : 1px solid black;
        display     : none;     /*Con esto hacemos invisible al modal del inicio*/
        left        : -210px;   /*Con estas 2 propiedades */
        margin-left : 50%;      /*hacemos que el modal se centre*/
        padding     : 10px;
        position    : fixed;    /*Esto mantiene estatico y flotando el modal*/
        top         : 50px;
        width       : 400px;     
    }
</style>
Ya nuestro modal esta casi listo solamente nos falta 2 cosas una es hacer funcionar nuestro botón "¡Cerrar el modal!" y también hacer funcionar nuestro botón ¡Aparece! para hacer aparecer nuestro modal, y eso lo hacemos usando JAVASCRIPT. ¡Veamos!

  1. El botón ¡Aparece! tiene un atributo llamado "onclick" cuyo valor es "funcion_aparecer", esto indica que cuando damos clic sobre ese botón llamamos a la funcion "funcion_aparecer" para hacer aparecer nuestro modal.
  2. El botón del modal tiene un atributo llamado "onclick" cuyo valor es "funcion_cerrar", esto indica que cuando damos clic sobre ese botón llamamos a la funcion "funcion_cerrar" para hacer desaparecer nuestro modal.
  3. La función "funcion_cerrar" lo único que hace es desaparecer el modal, ¡ojo! desaparecer no eliminar.

Código JAVASCRIPT

<script>
    function funcion_aparecer(){
        //Con esto hacemos referencia al modal y lo guardamos
        var miModal = document.getElementById('miModal');
        //Acá hacemos aparecer al modal
        miModal.style.display = 'block';
    }

    function funcion_cerrar(){
        //Con esto hacemos referencia al modal y lo guardamos
        var miModal = document.getElementById('miModal');
        //Acá hacemos invisible al modal
        miModal.style.display = 'none';
    }
</script>
Con esto ya tenemos nuestro modal personalizado, solamente es cuestión de que cambies los estilos (cambiando colores, tamaños, tipo de letra, etc...), pero no podemos dejarte sin que antes pruebes el modal.

Demostración


Hola esto es un modal personalizado, acá podrás todo el contenido que quieras
Bueno ahora pueden ver el código completo acá http://goo.gl/IYt5g0

Comentarios

Entradas populares de este blog

Validar campo de texto sólo letras, números con javascript

En algunos casos necesitaremos que el usuario ingrese solamente letras en un campo de texto, impidiendo así el ingreso de números y caracteres especiales. Gracias a Javascript y HTML esto puede ser posible.   Método 1:  Podemos utilizar el atributo onkeypress devolviendo el valor de false, si es que se escribe un caracter distinto a la cadena que hemos definido (para el ejemplo es " áéíóúabcdefghijklmnñopqrstuvwxyz").   Método 2: Pasos a seguir: Crear una lista con todas las letras permitidas (a,b,c ... etc). Crear una lista de teclas especiales tales como (BackSpace , flecha izquierda, flecha derecha, Supr) estas son teclas permitidas aparte de las teclas permitidas en el primer paso.     Entendiendo el código En la línea 4 la sentencia String.fromCharCode(key) obteniene el caracter presionado por el usuario que añadiendo la sentencia toLowerCase() convertiríamos la letra a minúscula. Con esto guardamos la letra presionada por el us...

Uso del método setTimeout en Javascript al detalle

Si queremos que después de un tiempo determinado se haga el llamado de una función, entonces lo que debemos usar es el método "setTimeout". El método setTimeout utiliza 2 argumentos como vemos a continuación. var miSetOut = setTimeout( Funci , Tiempo ); Descripción de cada variable  Funci : Requerido. Es la función que se ejecutará después de un determinado tiempo. miSetOut : Con esta variable podemos detener la llamada de la función con el método clearTimeout. Tiempo : Requerido. Es el tiempo transcurrido antes que se ejecute la función(Esta en milisegundos 1000 ms). Nota : setTimeout es compatible con los principales navegadores (IE, Firefox, Chrome, Opera, Safari). Observaciones del ejemplo anterior: Podemos usar también setTimeout sin asignarle a una variable así como en la línea 4 . Pasar cadenas en vez de una función a setTimeout ("alert('Pasaron 2 segundos!')") , puede traer errores no pensados. Ver aquí . El método setTim...