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 相关文章推荐
javascript的对话框详解与参数
Mar 08 Javascript
jQuery用unbind方法去掉hover事件及其他方法介绍
Mar 18 Javascript
引用 js在IE与FF之间的区别详细解析
Nov 20 Javascript
jquery动态添加删除(tr/td)
Feb 09 Javascript
js实现带关闭按钮始终显示在网页最底部工具条的方法
Mar 02 Javascript
jQuery.deferred对象使用详解
Mar 18 Javascript
关于原生js中bind函数的简单实现
Aug 10 Javascript
AngularJS 表达式详解及实例代码
Sep 14 Javascript
AngularJS学习第一篇 AngularJS基础知识
Feb 13 Javascript
layer 刷新某个页面的实现方法
Sep 05 Javascript
Vue实现星级评价效果实例详解
Dec 30 Javascript
详解Vue 的异常处理机制
Nov 30 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
注意:php5.4删除了session_unregister函数
2013/08/05 PHP
PHP实现的连贯操作、链式操作实例
2014/07/08 PHP
php检索或者复制远程文件的方法
2015/03/13 PHP
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
8个PHP数组面试题
2015/06/23 PHP
php实现可逆加密的方法
2015/08/11 PHP
PHP正则表达式笔记与实例详解
2019/05/09 PHP
Laravel使用swoole实现websocket主动消息推送的方法介绍
2019/10/20 PHP
JavaScript初学者应注意的七个细节小结
2012/01/30 Javascript
微信浏览器内置JavaScript对象WeixinJSBridge使用实例
2015/05/25 Javascript
JQuery实现鼠标移动图片显示描述层的方法
2015/06/25 Javascript
javascript控制图片播放的实现代码
2020/07/29 Javascript
jQuery表格行上移下移和置顶的实现方法
2015/10/08 Javascript
JavaScript门面模式详解
2017/10/19 Javascript
简单实现jquery隔行变色
2017/11/09 jQuery
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
2017/12/05 jQuery
vue移动端弹框组件的实例
2018/09/25 Javascript
Element Table的row-class-name无效与动态高亮显示选中行背景色
2018/11/30 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
python sqlobject(mysql)中文乱码解决方法
2008/11/14 Python
linux系统使用python获取cpu信息脚本分享
2014/01/15 Python
Django权限机制实现代码详解
2018/02/05 Python
利用python为运维人员写一个监控脚本
2018/03/25 Python
Windows下安装Scrapy
2018/10/17 Python
pytorch:实现简单的GAN示例(MNIST数据集)
2020/01/10 Python
利用Python制作动态排名图的实现代码
2020/04/09 Python
Django def clean()函数对表单中的数据进行验证操作
2020/07/09 Python
HTML5之SVG 2D入门6—视窗坐标系与用户坐标系及变换概述
2013/01/30 HTML / CSS
Html5获取高德地图定位天气的方法
2019/12/26 HTML / CSS
HTML5获取当前地理位置并在百度地图上展示的实例
2020/07/10 HTML / CSS
Needle & Thread官网:英国仙女品牌
2018/01/13 全球购物
个人总结与自我评价
2014/09/18 职场文书
停车场管理制度范本
2015/08/05 职场文书
Mysql中where与on的区别及何时使用详析
2021/08/04 MySQL