【发布时间】:2015-05-27 18:19:43
【问题描述】:
我有一个隐藏或显示过滤器的功能:
function slide(event) {
//a search engine filter
var $sideFilter = $(event.currentTarget).prev();
//an arrow that switches its orientation based on collapsed or not
var $arrow = $(event.currentTarget).find(".arrow");
//if not hidden, find current height of element (is variable height)
if (!$sideFilter.hasClass("fc-hidden")) {
var currentHeight = $sideFilter.height();
//set it so that animation has concrete height to go from/to
$sideFilter.css("height", currentHeight.toString());
}
$sideFilter.toggleClass("fc-hidden");
$arrow.toggleClass(".arrow-rotated");
//set height back so that it can be variable
$sideFilter.css("height", "auto");
}
由于某种原因,高度上的 css 动画只有在我使用调试器单步执行时才会播放。似乎在切换类时(动画在侧过滤器类上,并且通过应用 fc-hidden 类更改高度),该函数还没有意识到过滤器的高度,因此,不知道怎么做动画。如果我一步一步地做,它就完美了。
想法?
【问题讨论】:
标签: jquery jquery-animate