jquery animate:如何动态获取动画元素的高度?
问题描述:
如何获得animate()
动态元素的高度?jquery animate:如何动态获取动画元素的高度?
这是我的代码来揭示元素中更隐藏的文字。问题在于我必须将动画高度(例如300px)修复为固定数字,文本会不断变化,所以我不知道它会持续多长时间。
$('.toggle-slide').click(function() {
var object = $(this);
var object_target = $('.text-about');
var target_height = object_target.height();
object_target.animate({
height:'300px'
}, 1500);
return false;
});
所以我觉得元素的实际高度应该是动态获得那么我可以将此参数传递到animate()
。
但是我怎么能得到这个动态高度?
或者你有其他更好的点子?
这是我的测试link。
答
$('.toggle-slide').click(function() {
var object = $(this);
var object_target = $('.text-about');
var target_height = object_target.height('100%').height();
object_target.height('200px');
object_target.animate({
height: target_height + 'px'
}, 1500);
return false;
});
我得到了它首先使这一切可见的,然后采取高度,然后放回至200像素和动画:)
也许在较慢的机器闪烁,但它的一个想法,工作
+0
谢谢了! :-) – laukok
除非元素在调用时被隐藏,否则您可以使用[.height]()获得jQuery元素的高度。那么你必须对此有点偷偷摸摸。当您尝试获取其高度时,动态元素是否隐藏? – Chad
是啊,它是从开始隐藏,你可以从这里看到 - http://jsfiddle.net/unLBu/2/ – laukok