Efecto hover en imágenes con jQuery

Tabla de contenidos

Ejemplo de efecto hover en imágenes con jQuery. Muchas veces queremos darle mucha importancia a la estética, otras veces simplemente nos gustan los pequeños detalles como animaciones de capas, de imágenes y de textos.

Efecto hover en imágenes con jQuery
Efecto hover en imágenes con jQuery

¿Cómo crear un efecto hover en imágenes con jQuery?

En este ejemplo os traigo un ejemplo de efecto hover en imágenes con jQuery, en el cual al pasar por encima de la imagen activamos una capa con una opacidad y un texto. Nuestro enfoque se basa en la especificación oficial de selectores CSS del W3C para garantizar compatibilidad y buenas prácticas.

¿Cuál es el código HTML necesario?

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Video Pop Up con jQuery</title>

<link rel="stylesheet" href="css/style.css" />
<script src="https://code.jquery.com/jquery.js"></script>
<script type="text/javascript" src="js/jquery.cookie.js"></script>

<script src="js/script.js"></script>
</head>

<body>
<div class="content">

  <h1>Efecto hover en imágenes con jQuery</h1> 

  <div class="gepic">
        <a href="#" title="">
            <div class="negro"><span>Super Mario Bros<em>Xbox 360</em></span></div>
            <img src="images/1.jpg" alt="Northern Saw-Whet Owl" />
        </a>
    </div>

  <div class="gepic">
        <a href="#" title="">
            <div class="negro"><span>Call of duty 4<em>Xbox 360</em></span></div>
            <img src="images/2.jpg" alt="Northern Saw-Whet Owl" />
        </a>
    </div>    

  <div class="gepic">
        <a href="#" title="">
            <div class="negro"><span>Super Mario Bros<em>Nintendo</em></span></div>
            <img src="images/3.jpg" alt="Northern Saw-Whet Owl" />
        </a>
    </div>        
</div>

</body>
</html>

¿Cómo se implementa con jQuery?

// JavaScript Document
$(document).ready(function() {
    //Al pasar sobre .gepic animamos la imágen dando un tamaño menor y mostramos el div .negro
    $('.gepic').mouseenter(function(e) {
        $(this).children('a').children('img').animate({ height: '240', left: '0', top: '0', width: '310'}, 150);
        $(this).children('a').children('div').fadeIn(150);
    $(this).children('a').children('.negro').css({ "padding-top": "80px" , "opacity" : 1 });

    }).mouseleave(function(e) {
        $(this).children('a').children('img').animate({ height: '280', left: '-20', top: '-20', width: '350'}, 150);
        $(this).children('a').children('div').fadeOut(150);
    $(this).children('a').children('.negro').css({ "padding-top": "150px" , "opacity" : 0 });

    }); 

});

¿Qué estilos CSS se requieren?

/* CSS Document */

body{
  background:#81d742;
  margin:0;
}
.content{
  width:1000px;
  margin-top:50px;
  min-height:600px;
  background:#fff;
  margin:0 auto;
  padding:20px;
}

.gepic {
    border: 3px solid #eee;
    float: left;
    height: 240px;
    margin: 0 9px 9px 0;
    overflow: hidden;
    position: relative;
    width: 310px;
}
.gepic:hover {
  border: 3px solid #81d742;
}
.gepic a {
    display: block;
    position: relative;
}
.gepic a img {
    height: 280px;
    left: -20px;
    position: relative;
    top: -20px;
    width: 350px;
}

.gepic .negro {
    display: none;
    font-size: 2.3em;
    font-weight: bold;
    height: 100%;
    padding-top: 120px;
    position: absolute;
    text-align: center;
    text-decoration: none;
    width: 100%;
    z-index: 100;
    background-color: rgba(15, 15, 15, 0.6);
    color: #fff;
    text-shadow: #000 0px 0px 20px;
  transition:0.2s;
}
.gepic .negro em {
  display: block;
  font-size: 0.50em;
  font-weight: normal;
}

 

Efecto hover en imágenes con jQuery

  • Al pasar el ratón sobre la imagen, se activa una capa semitransparente con texto superpuesto
  • jQuery anima el tamaño y posición de la imagen cuando entra y sale el cursor
  • La capa negra cambia de opacidad y espaciado interno durante la animación de hover
  • El código usa mouseenter y mouseleave para detectar el movimiento del ratón sobre cada imagen
  • Se pueden añadir múltiples imágenes con efectos hover usando la clase .gepic en contenedores separados
Imagen de Jose Hilario
Jose Hilario
¡Apasionado del diseño web! Especializado en WordPress, WooCommerce y Elementor PRO. Me encanta diseñar páginas web atractivas y optimizadas para SEO. Mi objetivo: impulsar a las empresas con un diseño web atractivo y funcional.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

16 − cuatro =

Categorías
Portfolio de diseño web en WordPress

¿Necesitas una web? Contacta con nosotros.

Relacionados: