我在列表元素中有一个 div 。每次他们单击父列表元素时,我都会隐藏/显示 div。该功能正在运行,但是动画在动画结束时跳转。我认为这与每次隐藏/显示内部的 div 时更改高度的父列表元素有关。我似乎无法弄清楚如何处理它。我认为这是一个CSS问题?
HTML:
<li id='band'>
<h3>BAND</h3>
<div class='content'>
<p>Lorem ipsum.</p>
</div>
</li>
CSS
#centerpage ul {
padding: 0;
list-style: none;
text-align: center;
}
#centerpage ul li p {
margin: 0;
}
.content {
background-color: green;
width: 100%;
overflow: hidden;
}
JQUERY/JAVASCRIPT
$(function() {
var $el = $('#links ul li');
$el.each(function() {
var $content = $(this).children().filter('.content');
var height = $content.height();
$content.hide().css({ height: 0});
var listheight = $(this).height();
console.log(listheight);
$(this).click(function() {
var $content = $(this).children().filter('.content');
if ( $content.is(':visible') ) {
$content.animate( {
height: 0
}, 1000, function() {
$content.hide();
});
}
else {
$content.show().animate({ height: height }, { duration: 1000} );
}
})
})
})