JQuery动画计算像素距离

时间:2011-04-19 11:50:44

标签: jquery jquery-animate

我正在使用JQuery为面板系统菜单设置动画。问题是有5个面板,我无法将面板设置为左:属性直接,因为它需要根据当前位置计算它。我的剧本应该解释一下。

$('.panel').animate({left: '-250'}, 300);

所以这很好,因为第一次点击它会将第一个面板滑出视图,第二个面板进入视图。在第二个面板中单击时,它不会滑动到第三个面板,因为它告诉所有面板.panel移动到left:-250。我希望它能解决当前的问题:是.panel,然后再添加-250来制作动画。

如果left:0我们在第一个面板上并且点击了,我们将转到left:-250。点击第二个面板,它会添加-250 + -250并将动画添加到-500等等......

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您需要使用偏移或偏移父级来获取位置。

http://api.jquery.com/offset/

http://api.jquery.com/offsetParent/

像这样的东西; (未经测试)

    var offset = $('.panel').offset();
    alert(offset.left);
    alert(offset.top)
    var newpos = [offset.left - 250]
    $('.panel').animate({left: newpos}, 300);