(Примечание: см. Отредактированный пример внизу для более надежного решения)
Одна из особенностей jQuery - это возможность легко выполнять такое динамическое поведение, поэтому я не думаю, что вам нужен специальный плагин. Нажмите здесь, чтобы увидеть следующий код в действии
HTML
<div id="container">
<div id="hover-area">HOVER</div>
<div id="caption-area">
<h1>TITLE</h1>
<p>Caption ipsum lorem dolor
ipsum lorem dolor ipsum lorem
dolor ipsum lorem dolor</p>
</div>
</div>
CSS
#container {
cursor:pointer;
font-family:Helvetica,Arial,sans-serif;
background:#ccc;
margin:30px;
padding:10px;
width:150px;
}
#hover-area {
background:#eee;
padding-top: 60px;
text-align:center;
width:150px; height:90px;
}
#caption-area { width:150px; height:27px; overflow-y:hidden; }
#caption-area h1 { font:bold 18px/1.5 Helvetica,Arial,sans-serif; }
(Важной частью является настройка #caption-area
height
и overflow-y:hidden
)
JQuery
$(function(){
var $ca = $('#caption-area'); // cache dynamic section
var cahOrig = $ca.height();
// store full height and return to hidden size
$ca.css('height','auto');
var cahAuto = $ca.height();
$ca.css('height',cahOrig+'px');
// hover functions
$('#container').bind('mouseenter', function(e) {
$ca.animate({'height':cahAuto+'px'},600);
});
$('#container').bind('mouseleave', function(e) {
$ca.animate({'height':cahOrig+'px'},600);
});
});
Кроме того, вы должны использовать эти переменные, если вы реализуете их по-настоящему.
<ч />
РЕДАКТИРОВАТЬ: Адаптировано выше, чтобы работать для несколько пар на странице, проверьте
Это немного сложнее, но, надеюсь, вы сможете понять это без подробного объяснения.