javascript - jQuery 的宽度动画隐藏了溢出,尽管它是可见的

标签 javascript jquery html css animation

我正在使用 jQuery 的 .animate() 增加 divwidth

div 包含一个绝对定位的子元素,其边界跨越父元素的边界。

当动画开始时,子元素 div 位于父元素之外的部分变得不可见,当动画结束时,它再次可见。

<div id=parent>
    <div id=child>
    </div>
</div>

#parent{
    width: 200px;
    height: 200px;
    background: blue;
    position: relative;
    overflow: visible;
}
#child{
    width:100px;
    height: 10px;
    background: red;
    position: absolute;
    right: -50px;
    top: 100px;
}

$("#parent").animate({width: '300'}, 2000);

<强> LIVE DEMO

最佳答案

jQuery animate 在动画时自动强制元素overflow:hidden;

您可以使用 !important CSS 样式解决此问题:

#parent{
    width: 200px;
    height: 200px;
    background: blue;
    position: relative;
    overflow: visible !important;
}


编辑 由于 CSS 优先级,内联样式可能会覆盖 !important 样式。如果是这样,请尝试这样的操作

$("#parent").animate({width: '300'}, 2000).css('overflow', 'visible', 'important');

关于javascript - jQuery 的宽度动画隐藏了溢出,尽管它是可见的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23127477/

相关文章:

html - 用于构建 "template builder"Web 应用程序的语言/库/模块?

javascript - 将文本框值存储在临时表中

javascript - aurelia 变量观察者不断递归调用自身

jquery - 如何在 Firefox 中获取屏幕高度

javascript - html表格,通过按键选择行

html - 响应式设计在 Blackberry 上得到扩展

javascript - jQuery - TableSorter 不工作

javascript - 如何使用 Tumblr API V2 获取特定博客的标记帖子?

javascript - 使用 jQuery 单击时摆脱 onclick

javascript - jQuery 使用 if/else 检查点击