此处代码:jsfiddle Demo
我想在完成div#content
的操作时获得slider down/up
高度。
例如,在演示中,我输入了一些单词,它们使div高度为36px
,所以如果我点击slider down
,我需要获取值36
,如果我点击slider up
,我需要返回值0
。谢谢。
答案 0 :(得分:4)
然后,它在slideDown
或slideUp
的回调函数中,例如:
$('#content').slideDown('slow', function(){
var height = $(this).height();
});
请注意它会在slideDown
和slideUp
两种情况下为您提供相同的高度38,因为这两个函数不会更改div
的高度属性,但display
到none
只有 block
proprty ,所以div {{1}滑落后的高度属性与之前的高度相同。
答案 1 :(得分:1)
我知道这是一个老线程,但是当我搜索这个时它首先出现,所以我认为其他人也会降落在这里。
如果在动画完成后需要值,我会使用回调,但在我的用例中,我需要动画前的高度,所以我可以将另一个元素扩展到相同的高度。为此,我做了以下事情:
//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是单线程的,因此永远不会呈现show / hide。