javascript - 动画 div 高度以适应新内容

标签 javascript jquery html css animation

我想通过向下滑动动画来设置 div 高度的动画以适应新内容。

html:

<div id="container">
    row 1<br>
    row 2<br>
    row 3<br>
</div>

JavaScript:

var container = $('#container');
container.click(function() {
    container.hide();
    $(this).html(
        'row 1<br>row 2<br>row 3<br>row 4<br>row 5<br>row 6<br>'
    ).slideDown(500);
});

问题是动画从顶部开始,而不是从当前高度开始。

jsfiddle:https://jsfiddle.net/Lgt4a7fr/3/

最佳答案

您可以使用 jQuery animate()。请参阅下面的演示。

而且我也在查看你下面的代码部分。请考虑单独添加新元素?

  element.html(
            'row 1<br>row 2<br>row 3<br>row 4<br>row 5<br>row 6<br>'
        ); 

如果您仅将此代码用于演示目的,请忽略。

var container = $('#container');
container.click(function(e) {
   var element = $(this);
   var height = element.height();
    element.hide();
    element.html(
        'row 1<br>row 2<br>row 3<br>row 4<br>row 5<br>row 6<br>'
    ); // please think of appending the new items alone?
    var height2 = element.height();
    element.css({height : height});
    element.show();
    element.animate( {height : height2} , 500);
});
#container {
    border: 1px solid black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
    row 1<br>
    row 2<br>
    row 3<br>
</div>

关于javascript - 动画 div 高度以适应新内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33037037/

相关文章:

Javascript 隐藏在 php 中

javascript - 使用字符串调用不同 javascript 文件的 getter

javascript - 如何检查一个元素是否存在于 td 中

jquery - 替换 jQuery 中的 .createDocument()

javascript - 初学者 javascript onblur 验证不验证

html - 使滚动条不占用空间/防止布局偏移

javascript - 判断 jQuery DOM 元素是否可拖动

html - 如何在 Onsen UI 工具栏中有多个 p 标签?

javascript - 使用 python beautiful soup 提取 html 不起作用

javascript - 比较两个对象不会给出正确的结果