Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk melaksanakan animasi getaran dan jitter imej dalam Vue?

Bagaimana untuk melaksanakan animasi getaran dan jitter imej dalam Vue?

WBOY
WBOYasal
2023-08-17 16:25:511613semak imbas

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

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>

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>

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!

Kenyataan:
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