JQuery动画计算像素距离

发布于 2024-11-02 13:03:38 字数 507 浏览 0 评论 0原文

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

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

因此,这很好,因为第一次单击时,它将第一个面板滑出视图,并将第二个面板滑入视图。然而,在第二个面板中单击时,它不会滑动到第三个面板,因为它告诉所有面板 .panel 移动到 left:-250。我希望它能计算出当前剩下的内容:??是 .panel 的,然后添加一个 -250 来制作动画。

这样,如果 left:0 我们在第一个面板上,点击一下我们就会转到 left:-250。单击第二个面板时,它将添加 -250 + -250 并为 -500 等设置动画。等等...

有什么想法吗?

I am using JQuery to animate a panel system menu. The problem is that there are 5 panels and I cannot set the panel left: attribute directly as it needs to calculate it based on its current position. My script should explain.

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

So this is fine as on the first click it slides the first panel out of the view and the second panel into view. On a click in the second panel however it will not slide to the third panel as it is telling all the panels .panel to move to left:-250. I want it to work out what the current left:?? is of .panel and then add a further -250 to animate.

That way if left:0 we are on the first panel and on a click we will go to left:-250. On click on the second panel it will add -250 + -250 and animate to -500 etc.. etc...

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

傲性难收 2024-11-09 13:03:38

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

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

You need to get the position using offset or offset parent.

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

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

Something like this; (not tested)

    var offset = $('.panel').offset();
    alert(offset.left);
    alert(offset.top)
    var newpos = [offset.left - 250]
    $('.panel').animate({left: newpos}, 300);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文