vue动画—通过钩子函数实现半场动画操作


Posted in Javascript onAugust 09, 2020

注意:

1.起始位置设置了一个(0,0)在第一遍执行时,是没有作用的。在一次入场动画执行完成之后,在最终位置停下来并不在起始位置,通过这里的位置的设置可以将入场动画结束时的位置调到这里

2.理解enter()函数的el的指代对象和done()指代的回调函数

3.理解this.show = !this.show,这句话有两个作用。一是:控制显示和隐藏,二是:false —> true为半场动画,true—>false又是为另半场动画。这样就能完成一直循环执行半场动画的效果了。

HTML代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <script src="../lib/vue.js"></script>
</head>
<style>
 .ball{
  margin: 50px 50px;
  width: 15px;
  height: 15px;
  border-radius: 50px;
  background-color: brown;
 }
</style>
<body>
  <div id="app">
   <input type="button" value="跳进篮子里" v-on:click="show=!show">
   
   <transition
    v-on:before-enter="bEnter"
    v-on:enter="enter"
    v-on:after-enter="aEnter">
    <div class="ball" v-show="show"></div>
   </transition>
  </div>
 
  <script>
   var vm = new Vue({
    el:'#app', 
    data:{
     show:false
    },
    methods:{
     bEnter(el){
      el.style.transform = "translate(0,0)"
      //表示动画入场之前,坐标表示位置是在起始位置不动 
      //在一次入场动画执行完成之后,在最终位置停下来并不在起始位置,通过这里的位置的设置可以将入场动画结束时的位置调到这里 
     },
     enter(el,done){
      el.offsetTop;
      //必须要写一下offsetTop,offsetWeith等四种中的其中一种,强制刷新动画
      el.style.transform = "translate(200px,450px)";
      el.style.transition = "all 2s ease";
      
      done()
      //done是enter方法的原生的引用函数名,这里表示是回调函数,也就是接下来执行的操作aEnter(),消灭延迟效果。 
     },
     aEnter(el){
      this.show = !this.show;
     }
    }
    //这里的el代表,将要执行半场动画的对象,是第一个原生的参数,跟自定义指令的el作用是一样的 
   });
  </script>
</body>
</html>

效果:

vue动画—通过钩子函数实现半场动画操作

补充知识:vue动画只有离场动画,进场动画不生效

存在问题的图:(只有离场动画,进场动画不生效)

vue动画—通过钩子函数实现半场动画操作

解决之后效果图:

vue动画—通过钩子函数实现半场动画操作

解决办法:

在transition标签中加入appear属性

<template>
 <transition mode="out-in" appear>
  <div class="singer-detail">
  </div>
 </transition>
</template>

以上这篇vue动画—通过钩子函数实现半场动画操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
等待指定时间后自动跳转或关闭当前页面的js代码
Jul 09 Javascript
jQuery遍历页面所有CheckBox查看是否被选中的方法
Apr 14 Javascript
DOM操作和jQuery实现选项移动操作的简单实例
Jun 07 Javascript
javascript-解决mongoose数据查询的异步操作
Dec 22 Javascript
js正则表达式最长匹配(贪婪匹配)和最短匹配(懒惰匹配)用法分析
Dec 27 Javascript
angular.JS实现网页禁用调试、复制和剪切
Mar 31 Javascript
javascript深拷贝的原理与实现方法分析
Apr 10 Javascript
apicloud拉起小程序并传递参数的方法示例
Nov 21 Javascript
node之本地服务器图片上传的方法示例
Mar 26 Javascript
vue登录以及权限验证相关的实现
Oct 25 Javascript
Vue3.0中Ref与Reactive的区别示例详析
Jul 07 Vue.js
VUE解决跨域问题Access to XMLHttpRequest at
May 06 Vue.js
js利用iframe实现选项卡效果
Aug 09 #Javascript
解决vue 退出动画无效的问题
Aug 09 #Javascript
在vue中使用console.log无效的解决
Aug 09 #Javascript
VUE中V-IF条件判断改变元素的样式操作
Aug 09 #Javascript
Vue 样式切换及三元判断样式关联操作
Aug 09 #Javascript
VSCode Vue开发推荐插件和VSCode快捷键(小结)
Aug 08 #Javascript
使用Vue-scroller页面input框不能触发滑动的问题及解决方法
Aug 08 #Javascript
You might like
php实现查询百度google收录情况(示例代码)
2013/08/02 PHP
Yii使用migrate命令执行sql语句的方法
2016/03/15 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
thinkPHP中_initialize方法实例分析
2016/12/05 PHP
Yii支持多域名cors原理的实现
2018/12/05 PHP
js继承的实现代码
2010/08/05 Javascript
jquery中获取元素的几种方式小结
2011/07/05 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
2012/02/27 Javascript
基于jquery的时间段实现代码
2012/08/02 Javascript
php对mongodb的扩展(初识如故)
2012/11/11 Javascript
js实现在文本框光标处添加字符的方法介绍
2012/11/24 Javascript
Nodejs使用mysql模块之获得更新和删除影响的行数的方法
2014/03/18 NodeJs
node.js中的socket.io入门实例
2014/04/26 Javascript
13 款最热门的 jQuery 图像 360 度旋转插件推荐
2014/12/09 Javascript
javascript实现禁止鼠标滚轮事件
2015/07/24 Javascript
深入浅析JavaScript中的作用域和上下文
2016/03/26 Javascript
Angularjs 制作购物车功能实例代码
2016/09/14 Javascript
jQuery图片切换动画效果
2017/02/28 Javascript
微信小程序 图片宽高自适应详解
2017/05/11 Javascript
浅谈Vuejs Prop基本用法
2017/08/17 Javascript
JavaScript基础进阶之数组方法总结(推荐)
2017/09/04 Javascript
Angular2实现的秒表及改良版示例
2019/05/10 Javascript
JavaScript数组排序小程序实现解析
2020/01/13 Javascript
Node.js 中如何收集和解析命令行参数
2021/01/08 Javascript
[33:28]完美世界DOTA2联赛PWL S3 PXG vs GXR 第三场 12.19
2020/12/24 DOTA
Python实现利用163邮箱远程关电脑脚本
2018/02/22 Python
python多线程之事件Event的使用详解
2018/04/27 Python
python3 实现的对象与json相互转换操作示例
2019/08/17 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
2020/02/28 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
2020/03/27 Python
仰望星空观后感
2015/06/10 职场文书
2015年征兵工作总结
2015/07/23 职场文书
sql中mod()函数取余数的用法
2021/05/29 SQL Server
总结Python连接CS2000的详细步骤
2021/06/23 Python
Python面向对象之内置函数相关知识总结
2021/06/24 Python
PostgreSQL解析URL的方法
2021/08/02 PostgreSQL