javascript - jQuery animate 的属性顺序很重要吗?

标签 javascript jquery jquery-ui jquery-animate

在刚刚花了太多时间调试为什么我的 jQuery animate() 调用停止正常工作之后,我意识到我的问题是 animate() 调用中的属性有以特定顺序排列。所以以下将正常工作:

$('div.example').animate({left: 50, top: 100, opacity: 1});

div.example 会淡入(如果它还没有淡入)并且 刚好出现 在位置 left:50, top:100,它不会动画。要使其按预期工作,您必须重新排序:

$('div.example').animate({opacity: 1, left: 50, top: 100});

我在 FF4 和 Chrome 中对此进行了测试。这让我很惊讶,因为我什至不知道 Javascript 保证对象中属性的顺序,而 jQuery 在他们的文档中没有提到这个要求。所以我的问题基本上是,我做错了什么吗?这是预期的吗?是否有关于正确顺序的文件?这会在所有浏览器中正常工作吗?

我也在使用 jQuery UI。我知道这增强了标准动画方法以允许动画颜色等。这可能是问题所在吗?

最佳答案

这是一个 jQuery 错误:cannot animate position and opacity at same time但已在 1.6.1

中修复

在此期间,您可以通过在末尾添加“px”来修复它:

$('div.example').animate({top: '100px', left: '50px', opacity: 1});

关于javascript - jQuery animate 的属性顺序很重要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6015366/

相关文章:

javascript - 为多个帖子打开一个模式

javascript - Array.Filter 不更新数组

javascript - 使 div 比其容器更宽的更简单的方法

javascript - 自动完成不隐藏

javascript - jQuery UI 拖动 div 不起作用

jquery-ui 自动完成组合框更改跟踪

javascript - 页面加载时触发 jQuery 事件

javascript - 将 <a> 标记的 href 值链接到另一个 html 页面

javascript - OutputScript 不加载我的 JavaScript 源

javascript - jQuery:可拖动对象的计数器(再次!)