当前位置: 首页 > 知识库问答 >
问题:

如何在jQuery中动画绝对位置从右到左再从左到右?

常坚
2023-03-14

我正在尝试做一个简单的游戏,在游戏中,当go按钮被点击时,一条船从一个海岸驶向另一个海岸。我尝试使用jQueryanimate,但它没有像预期的那样工作。

哈巴狗

body
  button.go GO
  .main 
    .left 
      .seaShore
    .travel 
      .boat
      .river 
    .right 
      .seaShore

萨斯

*
    margin: 0
    padding: 0
    box-sizing: border-box

@mixin flex($justify,$align)
    display: flex
    justify-content: $justify
    align-items: $align

.go
    padding: 5px 10px
    position: fixed
    top: 20px
    right: 50%
    transform: translateX(50%)

.main
    height: 100vh
    @include flex(center,flex-end)

.seaShore
    background-color: green
    width: 25vw
    height: 300px

.travel
    position: relative
    .boat
      position: absolute
      top: -15px
      right: 0
      width: 200px
      height: 40px
      border-radius: 0 0 50% 50%
      background-color: brown

    .river
        width: 50vw
        height: 290px
        background-color: #00bfff

jQuery

$(document).ready(function () {
  let right = false;
  let offset = $('.boat').offset();
  $(".go").click(function () {
    !right
      ? $(".boat").animate(
          {
            left: "0",
            right: offset.left - 200
          },
          "veryfast"
        )
      : $(".boat").animate(
          {
            left: offset.left - 100,
            right: 0
          },
          "veryfast"
        );

    right = !right;
  });
});

问题是当船回到起始位置时,它会比原来的位置走得更远。

有谁能帮帮我吗?

代码笔链接

共有1个答案

顾单弓
2023-03-14

你在寻找一个动态的解决方案吗?如果不是,那么您可以修改值以减去

例如改变

left: offset.left - 100,

成为

left: offset.left - 382,

你可以用382这个数字来确保它很合适

 类似资料:
  • 谢了! 插图图像

  • 如您所见,GravityCompat不允许我放右而不是结束或开始,如果我把它放入XML中,它就会崩溃。 出现下一个错误:

  • 问题内容: 是否有更改此文本的CSS代码 到这个 问题答案: 尝试这个 编辑:将此类应用于段落标记,您应该得到想要的结果。

  • 我读过segues上的其他帖子,但没有一篇能解决我的问题。 简单地说,我的ViewController就像一本书一样被订购。我希望从左到右的向后过渡(例如:从第9页到第8页)始终存在(滑动)。我想从右到左向前过渡(从第9页到第10页)。 是的,如果您一页接一页地分页,我的导航控制器后退按钮(左上角)会显示为这样。但是,如果您从索引跳入,那么导航控制器上的后退功能会将您带回索引。 我的目标是,如果用

  • 如何从右向左滑动抽屉布局表单中的ExpandableListView 我想在屏幕的右角显示ExpandableListView,我该怎么做??

  • 我在使用Apache poi 3.9正确格式化单元格时遇到了问题。我的表中有一些英语和阿拉伯语文本,所以我需要将一些单元格的阅读顺序设置为从右到左,方法是使用 文档 一个HSSFCellStyle是用 如下所示 问题是,构造函数是受保护的,而类是final的。所以我不能延长。是否可以将单个单元格的读序设置为从右到左?我不需要将工作表的样式设置为RTL。这也不能解决问题。