【问题标题】:Vue.js: How to update element's positionVue.js:如何更新元素的位置
【发布时间】:2019-09-01 09:21:29
【问题描述】:

我想在滚动时移动一个元素,以便该元素始终在屏幕中。 但是位置没有更新。

我正在做的是这个。

<v-card class="item" :style="{ top: distance }">
</v-card>
...
data() {
  return {
    distance: 0,
  }
}
methods: {
  handleScroll() {
    this.distance = window.scrollY
    },
  },
  created() {
    window.addEventListener('scroll', this.handleScroll)
  },
  destroyed() {
    window.removeEventListener('scroll', this.handleScroll)
  },
}

...

.item {
  position: absolute;
}

我该怎么做?

【问题讨论】:

    标签: vue.js vuejs2 vuetify.js


    【解决方案1】:

    你的元素应该有一个绝对位置,并添加@Nikos提到的单位:

      <v-card class="item" style="position:absolute" :style="{ top: distance+'px' }">
      </v-card>
    

    【讨论】:

    • 对不起,我在这里粘贴代码时不小心删除了它。我更新了。
    • css 样式中需要的单元呢?他们是百分比吗?像素?也应该添加它们
    • 即使我直接写样式也没有任何改变。
    • 我将单位添加为@NikosM。感谢他的提及
    • 我想我不一定需要直接写样式。
    猜你喜欢
    • 2019-02-10
    • 1970-01-01
    • 2011-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多