添加删除类转换scrollheight

时间:2015-11-10 18:09:26

标签: jquery css-transitions

我注意到使用CSS转换可以在任何时候重新启动动画,

现在我想创建一个按钮,切换其父级的高度,在

之间设置动画
  • "关闭"身高(例如50px)

  • 及其正常(完全展开)高度

$('.panel-trigger').each(function() {

    var $parent = $(this).parent();

    if (!$parent.hasClass('closed')) {
        $parent.css('height', $parent[0].scrollHeight);
    }else{
        $parent.css('height', '50px');
    }

    $(this).on('click', function() {

        if ($parent.hasClass('closed')) {

            $parent.css('height', $parent[0].scrollHeight);
            $parent.removeClass('closed');

        } else {
            $parent.addClass('closed');
            $parent.css('height', '50px');
        }
    });

});

jsFiddle

代码实际上是在我的osx chrome 46.0.2490.80,

上工作

但我不确定这是否是实现这一结果的好方法。

我想知道是否有更简单有效的方法

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

尝试

        $parent.css('height', $parent[0].scrollHeight );