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

Bagaimana untuk melaksanakan animasi getaran dan jitter imej dalam Vue?

WBOY
Lepaskan: 2023-08-17 16:25:51
asal
1547 orang telah melayarinya

Bagaimana untuk melaksanakan animasi getaran dan jitter imej dalam Vue?

Bagaimana untuk melaksanakan animasi getaran dan kegelisahan imej dalam Vue?

Dalam Vue, kami boleh menggunakan perpustakaan animasi atau gaya tersuai untuk mencapai kesan getaran dan kegelisahan imej. Seterusnya, saya akan memperkenalkan dua kaedah yang biasa digunakan.

  1. Gunakan perpustakaan Animate.css untuk merealisasikan animasi getaran dan kegelisahan imej

Kaedah pertama ialah menggunakan perpustakaan Animate.css untuk merealisasikan animasi getaran dan kegelisahan imej. Animate.css ialah perpustakaan animasi CSS sumber terbuka yang mengandungi sejumlah besar kesan animasi yang dipratentukan, yang sangat mudah dan praktikal. Berikut ialah contoh kod:

Mula-mula, perkenalkan perpustakaan Animate.css ke dalam projek. Ia boleh dipasang melalui npm atau diperkenalkan terus melalui CDN.

<!-- 通过CDN引入 -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css" />

<!-- 或者通过npm安装 -->
npm install animate.css --save
Salin selepas log masuk

Kemudian, gunakan perpustakaan ini dalam komponen Vue anda untuk melaksanakan kesan animasi goncang dan goncang.

<template>
  <div>
    <img  :class="'animated ' + animation" src="your-image.jpg" @click="shakeImage" / alt="Bagaimana untuk melaksanakan animasi getaran dan jitter imej dalam Vue?" >
  </div>
</template>

<script>
import 'animate.css';

export default {
  data() {
    return {
      animation: '',
    };
  },
  methods: {
    shakeImage() {
      this.animation = 'shake';
      setTimeout(() => {
        this.animation = ''; // 清空动画类名,恢复原始状态
      }, 1000); // 动画的持续时间
    },
  },
};
</script>
Salin selepas log masuk

Di sini kami menggunakan acara @click untuk mencetuskan kaedah shakeImage, yang akan menambah kelas "animasi" dan nama kelas "goncang" pada imej, dengan itu menyebabkan imej bergetar. Kemudian gunakan kaedah setTimeout untuk mengosongkan kesan animasi selepas tempoh masa tertentu dan memulihkan keadaan asal.

  1. Gunakan fungsi cangkuk animasi Vue untuk merealisasikan animasi getaran dan kegelisahan gambar

Kaedah kedua ialah menggunakan fungsi cangkuk animasi Vue untuk merealisasikan kesan getaran dan kegelisahan gambar. Vue menyediakan satu siri fungsi cangkuk animasi di mana kita boleh menentukan proses animasi.

Berikut ialah kod sampel:

<template>
  <div>
    <img  v-show="showImage" class="image" src="your-image.jpg" @click="shakeImage" / alt="Bagaimana untuk melaksanakan animasi getaran dan jitter imej dalam Vue?" >
  </div>
</template>

<script>
export default {
  data() {
    return {
      showImage: true,
    };
  },
  methods: {
    shakeImage() {
      this.showImage = !this.showImage;
    },
  },
  mounted() {
    const imageElement = document.querySelector('.image');
    
    imageElement.addEventListener('animationend', () => {
      this.showImage = true; // 动画结束后,恢复显示图片
    });
  },
};
</script>
Salin selepas log masuk

Dalam contoh ini, kami mencapai kesan jitter imej dengan mendengar acara akhir animasi. Apabila gambar diklik, keadaan paparan imej akan ditukar Apabila animasi tamat, keadaan paparan imej akan ditukar kembali untuk mencapai kesan kegelisahan yang berterusan.

Kesimpulan:

Di atas, saya memperkenalkan dua kaedah untuk melaksanakan getaran imej dan animasi jitter dalam Vue. Jika anda memerlukan kesan animasi lain yang lebih kompleks, anda boleh menggunakan komponen peralihan Vue atau perpustakaan animasi lain untuk mencapainya. Saya harap artikel ini membantu anda, dan saya mengucapkan selamat maju jaya menggunakan Vue!

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan animasi getaran dan jitter imej dalam Vue?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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!