使用具有最小高度的 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/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();
}
我正在尝试在具有最小高度的 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/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();
}