我有同样的问题,我正在网上阅读,虽然我找不到解决方案。
简单地说,当在我的 DIV 元素上使用 slideDown() 方法时,我得到了丑陋的回弹效果,其中 jQuery 将 DIV 大小向下滑动得太远,然后它以一种丑陋的方式回弹到实际大小。
查看网络,iv 尝试从有问题的元素中删除所有边距和填充,但它什么也没做。
我无法为 div 设置静态尺寸,因为每个尺寸都会在页面加载时发生变化。一个加载虽然他们不会改变。(新的 div 也是使用 ajax 创建的)
这是一个示例 DIV
<div class="response hidden new">
<div class="right"><span class="responseTime">10:28:10 AM</span></div>
<span class="responseUser">Someone</span><br>
<span class="responseMessage">sdgs sdgh</span>
</div>
和 CSS
div.response {
line-height: 20px;
border-bottom: 1px dotted #546268;
}
.responseMessage {display: block}
有人能帮我一下吗?我没有想法..我尝试使用 jQuery 首先计算 DIV 的高度,然后在调用 slideDown() 之前使用 CSS() 强制高度,但 jQuery 几乎总是错误的高度......
响应 div 也使用 display:none 属性隐藏。
然后在其上调用此函数
function quickResponse(time, user, message, epoch) {
$('.latestStar').remove();
addResponse(time, user, message, epoch);
$('.new').slideDown(500).removeClass('hidden');
$('html, body').animate({ scrollTop: '0px'}, 1000, function() {
});
}
编辑 我忘了提到,如果 div 只包含 1 个单词,则不会发生回弹效果.. 但如果我输入多个带空格的单词,它会发生..
它几乎就像添加空格会导致高度搞砸一样。