微信小程序,关于绝对定位和动画移动的问题,希望有人可以指点一下,谢谢

2018-05-20 10:35:12 +08:00
 sevenQu
moveXBox:function(){
    var animation = wx.createAnimation({
      duration: 1000,
      timingFunction: 'linear',
    })
    animation.translateX(100).step();
    animation.translateY(100).step();
    animation.left(0).top(0).step();
    this.setData({
      animationData: animation.export()
    })
  }
  1. 我不明白为什么 translate 的坐标和 left 的坐标是怎样的,为什么会这样变化,而且两次变化动作还不一样,第一次的时候,translateX 和 tanslateY 都执行了,left(0)和 top(0)的动作很奇怪,第二次的时候,滑块竟然 x 不动,y 开始向上滑动了,此时的坐标系是什么样子的,希望有人讲解一下

  2. 如果我单独执行 animation.left(0).top(0).step();此时红色块会移动到左上角

  3. 我个人目前的理解,tranlateX(),是相对原始 view 定位的移动,而微信这里的 left 和 top 是绝对定位确定的坐标系,因为我试了一下,就算是红色块设为 relative,设置 left(0),其仍会移动到到最左边

3919 次点击
所在节点    微信
2 条回复
wujichao
2018-05-20 10:56:12 +08:00
动画建议直接用 css3 的动画做
sevenQu
2018-05-20 11:37:21 +08:00
@wujichao 可以说一下,我写的为什么会出现那个效果吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/456244

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX