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

时间:2009-06-22 22:12:28

标签: jquery

我有一个元素,它的CSS'display'设置为'none',它的高度设置为20px,margin-top设置为零像素。

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

当用户再次单击该按钮时,我想将元素高度和边距设置为动画回零。

jQuerys toggle / slideToggle函数似乎没有考虑边距,因此我得到了一个动画片,因此我想制作自己的动画脚本,以便我能够正确控制动画的内容。

最好的方法是什么?当我尝试时,我最终造成一团糟。也许有一些最佳实践指南可用?除了简单的脚本之外,我对自己有很多感觉 “$('。my-thing')。click()。animate({'height','5px'});”每当我尝试做一些比这更复杂的事情时,它就变得非常混乱。

2 个答案:

答案 0 :(得分:0)

你确定它不是CSS问题而不是jQuery问题吗?我的意思是,首先尝试打开框而不使用jQuery效果,以确保CSS首先是正常的,然后尝试jQuery。我只是问这个,因为我一直使用slideToggle,它尊重我的边缘。

答案 1 :(得分:0)

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