JQuery动画计算像素距离



我正在使用JQuery动画面板系统菜单。问题是有5个面板,我不能直接设置面板left:属性,因为它需要根据其当前位置计算。我的脚本应该解释。

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

这很好,因为在第一次点击时,它将第一个面板滑出视图,第二个面板滑入视图。在第二个面板上点击,但是它不会滑动到第三个面板,因为它告诉所有面板。面板移动到left:-250。我想让它算出电流还剩多少?? ?是.panel,然后添加进一步的-250来动画。

这样,如果left:0我们在第一个面板上,点击一下,我们将去left:-250。点击第二个面板,它将添加-250 + -250和动画到-500等。等等…

任何想法?

您需要使用offset或offset parent来获取位置。

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);