首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery slideToggle只是显示和隐藏,但不能正确地设置动画

jQuery slideToggle只是显示和隐藏,但不能正确地设置动画
EN

Stack Overflow用户
提问于 2012-08-07 06:14:36
回答 4查看 13.4K关注 0票数 2

this example中,我的div容器只是隐藏和显示,但不执行awesome jQuery animation

代码语言:javascript
运行
复制
$('.button').click(function() {
    $('.class1').slideToggle();
});

有人能告诉我为什么吗?我知道表上的动画不能正常工作,但在div上应该没问题。

更新感谢所有的答案。我遗漏的信息是位置绝对从DOM中删除了元素。是的,我知道我应该把样式放在css中--这个版本只是为了快速测试,但谢谢你的回答!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-08-07 06:36:45

.slideToggle()在0% - 100%范围内对元素的高度进行动画处理,从而隐藏元素的子元素。

通过在您的小提琴中使用position:absolute,您将从DOM流中删除子元素,并干扰父元素逐渐隐藏其子元素的能力。

如果将overflow设置为hidden,并从子对象中移除position:absolute,则可以正常工作。

http://jsfiddle.net/7xzMa/6/

票数 7
EN

Stack Overflow用户

发布于 2012-08-07 06:41:20

更新了你的小提琴- http://jsfiddle.net/7xzMa/14/ -清理了div,你应该把css放到一个样式表中,这样更容易编辑。"display“应设置为"none”。除非您希望它可见,否则请单击以隐藏。http://jsfiddle.net/7xzMa/8/

票数 1
EN

Stack Overflow用户

发布于 2012-08-07 07:22:07

阿图尔,我的建议是完全重组你的代码,有太多的事情要做。简洁明了总是最好的。首先,我要去掉html中的"style“属性。确保将样式放在CSS中(它更干净、更容易维护--这比从多个标记中删除样式要好得多)。

我刚刚给你做了一个演示,希望它能有所帮助!请随意使用它!祝您编码愉快!http://jsfiddle.net/7xzMa/17/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11836751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档