Vue 过渡动画js自动实现

1、通过指令安装jquery插件,指令:npm install jquery --save

2、修改webpack.base.conf.js配置,通过new webpack.ProvidePlugin方式,不需要导入jquery,可直接使用

3、通过<transition @before-enter="beforeEnter" @enter="enter" @leave="leave" > </transition> 方式,扑捉各个事件,进行相应动画操作

4、beforeEnter: function (el) {   //进入标签前事件(就是标签显示时的事件)

    $(el).css({
      left: '50px',
     opacity: 0
   })

   enter: function (el, done) {  //进入标签事件(就是标签显示那一刻)
  $(el).animate({           //animate() 方法执行 CSS 属性集的自定义动画。

   left: '200px',               语法1:$(selector).animate(styles,speed,easing,callback)

      opacity: 1                语法2:$(selector).animate(styles,options)  可选。规定动画的额外选项  :speed - 设置动画的速度   easing - 规定要使用的 easing 函数  callback - 规定动画完成之后要执行的函数 step - 规定动画的每一步完成之后要执行的函数 queue - 布尔值。指示是否在效果队列中放置动画。如果为 false,则动画将立即开始 specialEasing - 来自 styles 参数的一个或多个 CSS 属性的映射,以及它们的对应 easing 函数

第一个参数为样式,需要用{}来括起来,第二参数可以使 deration,complete等参数,也要用{}括起来


    }, {
    duration: 1500,
    complete: done
    })
  },

  leave: function (el, done) {

   $(el).animate({

    left:'1000px',

   opacity:0

 },{

 duration:1500,  //动画完成事件

complete:done //执行成功之后调用函数

})

}                    

   

 

 

 

  

posted @ 2018-04-20 16:15  微风不噪,阳光正好  阅读(203)  评论(0编辑  收藏  举报