使用jQuery UI position()实现动画效果

14

如何使用position({of:,my:,at:})从当前位置动画到中心呢? 是否有自动化的方法,还是必须手动动画CSS属性?


查看功能http://api.jquery.com/animate/,您可以指定一组CSS值,jQUery将执行转换。 - Yogu
2个回答

28

这个答案或许在二月份是正确的,但现在有一种更简单的方法。

为了达到这个目的,`position` 方法需要一个 `using` 参数。例如:

$(div).position({
    at: "left+50% top+50%",
    of: $(div).parent(),
    using: function(css, calc) {
        $(this).animate(css, 200, "linear");
    }
});

1

你看过.animate()吗?

编辑:现在我更好地理解了你要找的东西,这是一个我写的jQuery插件,可以做到这个功能

这里有一个快速的jsFiddle示例

我将选项设置为可配置对象。例如:

$('#clickme').click(function() {
    $('#blah').align({speed:1000,y:false});
});​

编辑:删除其他代码,因为它不再必要,只会使事情变得混乱。清理我的新代码。修复了偏移父元素定位问题。添加了一个链接到git存储库和jsFiddle,使用最新版本的源代码。


jsfiddle.net/MjsDc/8/ 这个可以解决问题,但有点凌乱。我想要一个能够与 position({of:,my:,at:}) 一起使用的解决方案。 - localhost
@localhost2 好的...实际上我已经写好了这个代码....它是一个对象居中的jQuery扩展,我在客户网站上使用过...得看看我能否找到它... - Bradley Mountford
差不多就完成了。必须将偏移量更改为position(),并且顶部和左侧有一些额外的像素。正在尝试修复它。 - localhost
@localhost2 是的...我也注意到了一些不准确的行为...现在需要完全重新审视代码,并使其更好,因为我对这些事情更有经验了。 - Bradley Mountford
好的...最终版本修复了定位问题。 - Bradley Mountford
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接