我已经建立了一个切换,它将向下滑动一个 div 以显示内容。我没有使用正常toggle()
功能,jQuery
因为我想显示前 300 像素的内容,然后滑动以显示其余内容。
无论如何,我有一个脚本设置来动画容器 div 的高度,它显示了里面的内容。
function slideCut() {
var revertHeight = 300;
var finalHeight = 0;
var s = 1000;
$('.cutBottom a').click(function() {
event.stopPropagation();
var p = $(this).parent().parent();
var h = p.css('height', 'auto').height();
var cut = $(this).parent().find('.cutRepeat');
// Fix height
if (finalHeight == 0) {
p.css('height', 'auto');
finalHeight = p.height();
p.height(revertHeight);
}
if ($(this).hasClass('toggled')) {
$(this).removeClass('toggled');
p.animate({height:revertHeight}, {
duration: s
});
cut.fadeIn('fast');
} else {
$(this).addClass('toggled');
p.animate({height:finalHeight}, {
duration: s,
complete: function() {
cut.fadeOut('fast');
}
});
}
return false;
});
}//end
问题是,第二次将高度设置为完整大小(滑动 div 以显示内容)时它没有设置动画,它只是跳转到完整高度。为什么会这样?
工作示例:http: //jsfiddle.net/6xp2Y/3/