我的div有一个"添加"班级不是顺畅地滑动,而是波涛汹涌和跳跃。
当我将滑下div设置为阻止显示时,一切顺利,但我需要div在滑下后显示内联块。
我从here尝试了一些可能的解决方案而没有任何运气。
注意:我希望保持HTML结构不变。我已经为演示目的简化了代码。
HTML
<div class="input">
<label>Name</label>
<input type="text">
<input type="text">
<div>
<div class="addition">Input addition</div>
</div>
</div>
<div class="input">
<label>Rest</label>
<input type="text">
</div>
CSS
.addition {
display: none;
}
的jQuery
$(function() {
$('input').on('focus blur', function(e){
$(this).closest('div').find('.addition')[e.type === 'focus' ? 'slideDown' : 'slideUp']('fast').css('display', 'inline-block');
})
});
答案 0 :(得分:0)
我通过设置父div的动画来找到解决方法。
$('input').on('focus blur', function(e){
$(this).siblings('div')[e.type === 'focus' ? 'slideDown' : 'slideUp']('fast');
})
答案 1 :(得分:-1)
请看下面的小提琴http://jsfiddle.net/rFkP8/4/
请尝试以下代码,按照您的要求运行
$(function() {
$('input').on('focus blur', function(e){
$(this).closest('div').find('.addition')[e.type === 'focus' ? 'slideDown' : 'slideUp'](100)('stable').css('display', 'inline-block');
})
});
如果你想减慢动画效果,只需根据你的喜好增加时间:)