在this example中,我的div容器只是隐藏和显示,但不执行awesome jQuery animation。
$('.button').click(function() {
$('.class1').slideToggle();
});
有人能告诉我为什么吗?我知道表上的动画不能正常工作,但在div上应该没问题。
更新感谢所有的答案。我遗漏的信息是位置绝对从DOM中删除了元素。是的,我知道我应该把样式放在css中--这个版本只是为了快速测试,但谢谢你的回答!
发布于 2012-08-07 06:36:45
.slideToggle()在0% - 100%范围内对元素的高度进行动画处理,从而隐藏元素的子元素。
通过在您的小提琴中使用position:absolute,您将从DOM流中删除子元素,并干扰父元素逐渐隐藏其子元素的能力。
如果将overflow设置为hidden,并从子对象中移除position:absolute,则可以正常工作。
http://jsfiddle.net/7xzMa/6/
发布于 2012-08-07 06:41:20
更新了你的小提琴- http://jsfiddle.net/7xzMa/14/ -清理了div,你应该把css放到一个样式表中,这样更容易编辑。"display“应设置为"none”。除非您希望它可见,否则请单击以隐藏。http://jsfiddle.net/7xzMa/8/
发布于 2012-08-07 07:22:07
阿图尔,我的建议是完全重组你的代码,有太多的事情要做。简洁明了总是最好的。首先,我要去掉html中的"style“属性。确保将样式放在CSS中(它更干净、更容易维护--这比从多个标记中删除样式要好得多)。
我刚刚给你做了一个演示,希望它能有所帮助!请随意使用它!祝您编码愉快!http://jsfiddle.net/7xzMa/17/
https://stackoverflow.com/questions/11836751
复制相似问题