JavaScript muestra un elemento Div en el centro de la página web

Tahseen Tauseef 12 octubre 2023
  1. Diseñar una ventana emergente en HTML
  2. Abrir y cerrar ventana emergente en JavaScript
  3. Abrir y cerrar ventana emergente con jQuery
JavaScript muestra un elemento Div en el centro de la página web

En este artículo tutorial, discutiremos cómo abrir una ventana emergente en el centro de la página web.

Una ventana emergente es una ventana pequeña o un cuadro pequeño que se abre en una ventana sobre el contenido subyacente. El principal caso de uso de una ventana emergente es centrarse en cierta información en lugar de todo el contenido, por ejemplo, pedirle a un usuario que confirme. Alternativamente, una ventana emergente también se llama Modal.

Diseñar una ventana emergente en HTML

El estilo de una ventana emergente es importante por la única razón de que desea que se muestre sobre el contenido principal o al menos necesita dar la ilusión de que está sobre el contenido principal. Veremos cómo hacerlo con el siguiente ejemplo:

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <style>
      html,
      body {
        height: 100%;
      }
      .overlay {
        position: absolute;
        display: none;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background: rgba(0, 0, 0, 0.8);
        z-index: 2;
      }

      .popup {
        position: absolute;
        width: 50%;
        height: 50%;
        top: 25%;
        left: 25%;
        text-align: center;
        background: white;
      }
      .popup h3 {
        font-size: 15px;
        height: 50px;
        line-height: 50px;
        color: #fff;
        background: white;
      }
    </style>
    <title>Document</title>
  </head>
  <body>
    <div class="overlay">
      <div class="popup">
        <div onclick="CloseModal()">&#10006;</div> <!-- Shows Close Icon -->
        <h3>Popup Content</h3>
      </div>
    </div>
    <button onclick="OpenModal()">Show PopUp</button>
  </body>
</html>

Entonces, en este ejemplo simple, creamos un botón que se usará para mostrar la ventana emergente.

Pero lo más importante, tenemos un elemento de overlay que estará sobre todo el contenido en un ligero color negro, dificultando así que el usuario vea ese contenido.

Creamos un elemento popup y lo diseñamos para que apareciera sobre el elemento overlay y en el centro de la página web. Al hacerlo, hemos logrado ocultar el contenido principal.

Cuando se abre una ventana emergente en el medio de la pantalla, llamará la atención de los usuarios porque eso será lo único que un usuario podrá ver claramente. Pero un aviso rápido en caso de que te lo hayas perdido, el elemento overlay está configurado en none, por lo que ahora aparece en este momento.

Por lo tanto, la pregunta es, ¿cómo cambiamos una ventana emergente? Podemos hacer eso usando JavaScript o jQuery. analicemos ambos en detalle a continuación

Abrir y cerrar ventana emergente en JavaScript

Podemos usar JavaScript para alternar la propiedad de estilo de una ventana emergente, podemos hacer esto accediendo al elemento DOM y luego a su propiedad style y luego cambiando el tipo display de none a block hará que el popup se muestre. Del mismo modo, podríamos volver a cambiarlo a none una vez que el usuario haga clic en el icono de cierre. Veamos esto con un ejemplo

function OpenModal() {
  let element = document.getElementById('overlay')
  element.style.display = 'block'
}
function CloseModal() {
  let element = document.getElementById('overlay')
  element.style.display = 'none'
}

Abrir y cerrar ventana emergente con jQuery

Alternativamente, podríamos repetir lo mismo con jQuery. Echemos un vistazo al código fuente y los cambios necesarios.

function OpenModal() {
  $('#overlay').show();
}
function CloseModal() {
  $('#overlay').hide();
}

En este ejemplo, usamos los métodos show y hide de jQuery. En lugar de cambiar la propiedad de show de none a block, show elimina la propiedad show en el elemento, y de manera similar, hide establece la propiedad show en none.

Nota: el show solo funciona con display:none o elementos ocultos con jQuery. No funciona con la propiedad visibility de CSS.

Además, asegúrese de agregar jQuery CDN en el encabezado (o instale el paquete jQuery) cuando use jQuery.

Artículo relacionado - JavaScript Popup