如何在动作滑落或滑动之后获取div高度?
问题描述:
代码在这里:jsfiddle Demo如何在动作滑落或滑动之后获取div高度?
我想拿到div#content
高度,当它完成的slider down/up
作用。
例如,在演示中,我输入一些的话,他们做的股利高度为36px
,所以如果我点击slider down
,我需要得到的价值36
,如果我点击slider up
,我需要返回值0
。谢谢。
答
然后,但它在slideDown
或slideUp
的回调函数,例如像:
$('#content').slideDown('slow', function(){
var height = $(this).height();
});
注意它会给你同样的高度38在两种情况下slideDown
和slideUp
,因为两个功能不改变div
的高度属性,但只有display
proprty from none
to block
,所以div #content
的height属性在滑下之后是相同的。
答
我知道这是一个旧的线程,但是当我搜索这个时候它首先出现,所以我假设其他人也会在这里登陆。
使用回调函数是我在动画完成后需要的值,但在我的用例中,我需要动画之前的高度,以便可以将另一个元素扩展到相同的高度。对于这一点,我做了以下内容:
//Get height (start and end)
var startHeight = $el.height();
$el.show();
var endHeight = $el.height();
$el.hide();
/**Do something useful with the height here**/
$el2.animate({height: endHeight});
//Slide the element down
$el.slideDown();
因为JavaScript是单线程的,显示/隐藏从未呈现。
嘿,谢谢你的帮助,但'slideup'不工作,值应该是零,但现在仍然'36' – Giberno 2012-02-05 15:03:21
@Giberno,它在我发布在我的答案的示例页面中工作。 – 2012-02-05 15:04:38