Rumah > hujung hadapan web > View.js > teks badan

Cara menggunakan Vue untuk melaksanakan kesan kembali ke atas

PHPz
Lepaskan: 2023-09-19 08:36:33
asal
728 orang telah melayarinya

Cara menggunakan Vue untuk melaksanakan kesan kembali ke atas

Cara menggunakan Vue untuk melaksanakan kesan kembali ke atas

Pengenalan:
Dalam reka bentuk web moden, butang kembali ke atas ialah Fungsi biasa, ia menyediakan pengguna dengan operasi yang mudah, membolehkan pengguna kembali ke bahagian atas halaman dengan mudah. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Vue untuk melaksanakan fungsi ini dan memberikan contoh kod khusus.

1. Buat projek Vue:
Pertama, kita perlu mencipta projek Vue, yang boleh dibuat dengan cepat menggunakan Vue CLI. Buka terminal dan laksanakan arahan berikut:

vue create back-to-top
cd back-to-top
Salin selepas log masuk

Kemudian pilih konfigurasi lalai dan tunggu projek dibuat.

2. Tambahkan butang kembali ke atas:
Dalam projek Vue, kita boleh meletakkan butang kembali ke atas dalam komponen App.vue. Buka fail src/App.vue dan tambahkan kod berikut pada templat:

<template>
  <div id="app">
    <!-- 页面内容 -->
    <router-view/>

    <!-- 返回顶部按钮 -->
    <button class="back-to-top" v-show="scrollPosition > 100" @click="backToTop">
      返回顶部
    </button>
  </div>
</template>
Salin selepas log masuk

Dalam kod di atas, kami menggunakan arahan v-show untuk mengawal paparan dan menyembunyikan butang kembali ke atas . Apabila kedudukan tatal lebih besar daripada 100, butang dipaparkan; Nilai arahan v-show ialah jenis Boolean, dan kedudukan tatal diperoleh secara dinamik dengan mengira sifat scrollPosition.

3 Laksanakan fungsi kembali ke atas:
Tambahkan pembolehubah bernama scrollTop dalam data dan mulakannya kepada 0:

data() {
  return {
    scrollTop: 0,
  }
},
Salin selepas log masuk

Kemudian, kita perlu Dengarkan tatal acara tetingkap dan kemas kini nilai scrollPosition. Tambahkan kod berikut dalam cangkuk kitaran hayat yang dipasang:

mounted() {
  window.addEventListener('scroll', this.handleScroll)
},
methods: {
  handleScroll() {
    this.scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
  },
},
Salin selepas log masuk

Dalam kod di atas, kami menggunakan sifat window.pageYOffset untuk mendapatkan kedudukan skrol semasa. Dalam sesetengah penyemak imbas lama, atribut ini mungkin tidak disokong, jadi kami menggunakan dua kaedah penulisan keserasian: document.documentElement.scrollTop dan document.body.scrollTop.

Akhir sekali, kita perlu menambah kaedah backToTop untuk melaksanakan fungsi menatal ke bahagian atas halaman. Tambahkan kod berikut dalam kaedah:

methods: {
  // 其他代码...

  backToTop() {
    const duration = 500 // 动画持续时间
    const startPos = this.scrollTop // 当前滚动位置
    const startTime = performance.now() // 开始时间

    const animateScroll = (timestamp) => {
      const elapsed = timestamp - startTime // 已经过去的时间
      const progress = Math.min(elapsed / duration, 1) // 完成百分比
      const easeProgress = 0.5 - 0.5 * Math.cos(progress * Math.PI) // 缓动效果的百分比

      window.scrollTo(0, startPos * (1 - easeProgress)) // 滚动到顶部

      if (progress < 1) {
        requestAnimationFrame(animateScroll)
      }
    }

    requestAnimationFrame(animateScroll)
  },
}
Salin selepas log masuk

Dalam kod di atas, kami menggunakan kaedah requestAnimationFrame untuk mencapai kesan animasi. Dengan mengira peratusan yang berbeza, kami melaksanakan animasi tatal ke atas dengan kesan pelonggaran.

4. Tambah gaya:
Tambah beberapa gaya pada butang kembali ke atas, buka fail src/App.vue dan tambah kod berikut pada gaya:

rreee

In Dalam kod di atas, kami menambahkan beberapa gaya asas pada butang dan menambah kesan leding kecerunan padanya.

Ringkasan:
Melalui langkah di atas, kami berjaya melaksanakan fungsi menggunakan rangka kerja Vue untuk melaksanakan kembali ke kesan teratas. Kami mencipta projek Vue, meletakkan butang kembali ke atas dalam komponen App.vue, dan menggunakan arahan Vue serta sifat pengiraan untuk mengawal paparan dan penyembunyian butang. Pada masa yang sama, kami mendengar acara tatal tetingkap dan melaksanakan fungsi tatal ke atas melalui kesan animasi. Saya harap artikel ini akan membantu anda dalam mempelajari rangka kerja Vue dan melaksanakan kesan kembali ke atas.

Atas ialah kandungan terperinci Cara menggunakan Vue untuk melaksanakan kesan kembali ke atas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!