使用具有最小高度的 jQuery 滑动切换

using jQuery slide toggle with min height

我正在尝试在具有最小高度的 div 上使用 jQuerys slideToggle。这会导致动画跳跃并且移动不流畅。我已经花了一段时间寻找解决方案,但我什么都做不了。我已经在 jsfiddle 上做了一个例子,如果有人能帮我解决这个问题,我将不胜感激。

我的 css 用于 div 被切换:

#selected-display{
    height:calc(100vh - 50px);
    display:none;
    min-height: 750px;
}

我的javascript:

$(document).ready(function(){
    $(".toggle-display").click(function(){
        $("#selected-display").slideToggle("slow");

    });
});

https://jsfiddle.net/4y3q27mh/

https://jsfiddle.net/rqkt58L1/

您可以在动画期间禁用最小高度,然后在动画结束时将其重新打开:

$(document).ready(function () {
  $(".toggle-display").click(function () {
    var minHeight = $("#selected-display").css('min-height');
    $("#selected-display").css('min-height',0).slideToggle("slow", function() {
        $(this).css('min-height', minHeight);
    });
  });
});

戴夫的回答有效,但没有达到最小高度的动画。它只是“出现”

我已经用 javascript 解决了这个问题,没有使用最小高度:

function toggle(item) {
    if (item.height() < 350) {
        item.css('height', 350);
    }
    item.slideToggle();
}