jQuery 动画填充在 Chrome 中无法正常工作
Posted
技术标签:
【中文标题】jQuery 动画填充在 Chrome 中无法正常工作【英文标题】:jQuery animate padding doesn't work correctly in Chrome 【发布时间】:2012-01-17 15:58:10 【问题描述】:我有几个嵌套的 div,其中一个有填充。我尝试在该 div 上设置填充动画:
$("div").animate(paddingRight: 60);
问题在于,在 IE 和 FF 中,嵌套 div 的大小被正确调整,但在 Chrome 中却没有。看看我的例子:http://jsfiddle.net/smashko/zu6aX/。按 Remove Padding 和 Add Padding 按钮,看看在 FF 和 IE 中会发生什么。
为什么它在 Chrome 中不起作用?
编辑:
实际上,正如 Stefan 指出的那样,动画工作正常,但没有应用新的 CSS 值。
如果你在动画完成后点击检查元素,Chrome会刷新它就可以了。
那么,问题是如何让 Chrome 自动应用动画 CSS 值?
【问题讨论】:
【参考方案1】:动画效果很好,但您的 CSS 不会显示任何差异。
更新了您的示例以在 animate() 中使用回调函数。检查控制台查看动画前后的值:http://jsfiddle.net/dbDsM/
如果您改为为 paddingLeft 设置动画,您也会看到它的工作原理。
【讨论】:
谢谢斯特凡。我已经知道动画在后台运行,但我的问题应该是为什么 Chrome 不应用新的 CSS 值?奇怪的是,如果您单击“删除填充”按钮,然后右键单击元素并选择“检查元素”,它将重新绘制自身并且更改将可见。那么,如何让 Chrome 自动刷新呢?【参考方案2】:它在 Chrome 中对我有用(稳定)
$("#one").click(function()
$("#inside3").animate(
'padding': 60
);
);
$("#two").click(function()
$("#inside3").animate(
'padding': 30
);
);
【讨论】:
以上是关于jQuery 动画填充在 Chrome 中无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
如何禁用 chrome / jquery 的自动完成和自动填充
css3 过渡延迟,如果动画 svg 填充和颜色同时 chrome 中的错误在 FF 中起作用
将代码放置在 Joomla 文章中时,Jquery 拖放在 Chrome 浏览器中无法正常工作
jQuery 淡入和淡出在 Google Chrome 中无法正常工作
使用 JavaScript / JQuery 将 html 表数据导出到 Excel 在 Chrome 浏览器中无法正常工作