Efecto para mostrar texto sobre una imagen con Jquery
Tanto Google y Mozilla, tienen extensiones para sus navegadores que utilizan animaciones simples pero elegantes para mejorar la página. Una de las extensiones utilizadas por Google es un básico margin-top para cambiar entre los dos paneles: un panel gráfico y un panel de detalles.
HTML
<div class="item itemJQuery"> <a href="https://blog.reaccionestudio.com/" target="_blank" title="Visita nuestro blog"> <div style="margin-top: 0px;" class="item-billboard"> <img src="http://m.reaccionestudio.com/img/logo.png" alt="imagen ejemplo" title="Reaccion Estudio"> <h3>DEMO</h3> </div> <div class="item-detail"> <p>¡Visita nuestro Blog para aprender más sobre Desarrollo web!</p> </div> </a> </div>
CSS
.item { position: relative; width: 220px; overflow: hidden; border: 1px solid #ccc; } .item { height: 240px; } .item a { text-decoration: none; color: #000; } .item-billboard, .item-detail { padding: 10px; height: 220px; } .item-billboard { margin-top: 0; background: #fff; } .item-billboard h3 { font-size: 13px; font-weight: bold; color: #262626; font-family: 'Open Sans',arial,sans-serif; text-align:right; color:blue; margin-top:10px; } .item-detail { height:220px; background: #ececec; font-family:verdana; }
Jquery
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script> jQuery(document).ready(function() { jQuery(".itemJQuery").bind({ mouseenter: function() { var self = jQuery(this), billboard = self.data("billboardElement"); if(!billboard) { billboard = jQuery(jQuery(".item-billboard", this)[0]); self.data("billboardElement", billboard); } jQuery(billboard).stop().animate({ "margin-top": "-240px" }); }, mouseleave: function() { jQuery(this).data("billboardElement").stop().animate({ "margin-top": 0 }); } }); }); </script>