vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue封装Animate.css动画库的使用

vue封装Animate.css动画库的使用方式

作者:Summer不秃

这篇文章主要介绍了vue封装Animate.css动画库的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

今天给大家分享一下Animate这个动画库的封装使用

引入Animate.css

npm i animate.css --save

在main.js入口文件里引入

import 'animate.css';

封装方法

/**
 * 
 * @param {*} element 传入的H5元素对象
 * @param {*} animation 动画名称
 * @param {*} prefix 可以不用传,默认参数即可
 * @returns 
 */
export const animateCSS = (element, animation, prefix = 'animate__') => {
  new Promise((resolve, reject) => {
    const animationName = `${prefix}${animation}`
    
    element.classList.add(`${prefix}animated`, animationName)
 
    function handleAnimationEnd(event) {
      event.stopPropagation()
      element.classList.remove(`${prefix}animated`, animationName)
      resolve('Animation ended')
    }
	
    element.addEventListener('animationend', handleAnimationEnd, {once: true})
  })
}

使用

import { animateCSS } from "@/utils/function";
import { onMounted, ref } from "vue";
 
const introTitle = ref();
const introImg = ref();
const header = ref();
console.log('捡来了');
const domAnime = () => {
  animateCSS(introTitle.value, "fadeInLeft");
  introTitle.value.style.display = "block";
 
  animateCSS(introImg.value, "fadeInRight");
  introImg.value.style.display = "block";
 
  animateCSS(header.value, "fadeInDown");
};
 
onMounted(() => {
  domAnime();
});

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文