jQuery-将边距和高度切换为零,然后再切换回来?

jQuery-将边距和高度切换为零,然后再切换回来?,jquery,Jquery,我有一个元素,它的CSS“display”设置为“none”,它的高度设置为20px,边距顶部设置为零像素 当用户单击按钮时,我希望我的元素高度和边距设置为0px。然后我希望它将“display”设置为“block”,并将其高度和边距设置为CSS-20px中定义的值,以便滑动和显示自己 当用户再次单击按钮时,我希望将我的元素高度和边距设置为零 jQuerys切换/滑动切换函数似乎没有考虑到边距,所以我得到了一个跳跃的动画,因此我想做我自己的动画脚本,这样我就可以对动画进行适当的控制 最好的方法是

我有一个元素,它的CSS“display”设置为“none”,它的高度设置为20px,边距顶部设置为零像素

当用户单击按钮时,我希望我的元素高度和边距设置为0px。然后我希望它将“display”设置为“block”,并将其高度和边距设置为CSS-20px中定义的值,以便滑动和显示自己

当用户再次单击按钮时,我希望将我的元素高度和边距设置为零

jQuerys切换/滑动切换函数似乎没有考虑到边距,所以我得到了一个跳跃的动画,因此我想做我自己的动画脚本,这样我就可以对动画进行适当的控制

最好的方法是什么?当我尝试的时候,我只会把事情弄得一团糟。也许有一些最佳实践指南可用?除了像这样的简单脚本之外,我感觉自己几乎是独立的
$'.my thing'.click.animate{'height',5px'};每当我尝试做比这更复杂的事情时,它就会变得一团糟。

你确定这不是CSS问题,而是jQuery问题吗?我的意思是,首先尝试在没有jQuery效果的情况下打开框,以确保CSS是正常的,然后尝试jQuery。我之所以问这个问题,是因为我一直使用slideToggle,而且它尊重我的边距。

尝试使用填充而不是边距。这样可以正确计算动画期间的高度/宽度