vue过渡动画效果

news2024/11/18 20:39:59

官网:https://cn.vuejs.org/v2/api/#transition

要与v-show,v-if 动态组件结合

给需要过渡的元素外层加<transition> ,并用name命名 ,

show:true,
---------------------
<button @click="show=!show">button</button>
<transition name='fade'>
    <p v-show="show">456</p>
</transition>

使用CSS过渡

使用css设置具体的动画,css命名规则为 .name对应的值-enter-active等(是class)

在这里插入图片描述

淡入淡出样式
在style中定义样式
<style>
.fade-enter-active,.fade-leave-active{
    transition:/*opacity*/ all .5s ;/*属性,时长,还可以加上ease-out,代表变化的曲线*/
    /*指定当前样式有过渡效果,opacity代表透明度*/
}
.fade-enter,.fade-leave-active{
    opacity:0;
    /*进入和出去的时候透明度是0*/
}
</style>
上下左右滑入滑出样式
/*激活阶段,动画控制,*/
.my-trans-enter-active,.my-trans-leave-active{
    transition: all .5s ease-out;/*属性,时长,还可以加上,代表变化的曲线*/
 
}
/*控制动画具体怎么变*/
/*进入动画控制*/
.my-trans-enter{
    /*进入从上方滑入*/
    transform: translateY(-500px);
    opacity: 0;
}
.my-trans-leave-active{
    /*出去,向下滑出*/
    transform: translateY(500px);
    opacity:0;
    /*进入和出去的时候透明度是0*/
    /*指定当前样式有过渡效果,opacity代表透明度*/
}

组件设置过渡

<transition name='my-trans'><!--调用了上下左右滑入滑出样式-->
    <div :is='getTodo'></div>
</transition>
<button @click="getTodoFun">button</button>
---------------
//定义字段:
getTodo:'todo-irem'
------------
//定义方法
getTodoFun:function(){
    if(this.getTodo==='todo-irem'){
        this.getTodo='todo-irem2'
    }else{
        this.getTodo='todo-irem'
    }
}

多元素过渡

多个元素切换,是将新的在下方显示,在将旧的隐藏,有同时出现的机会,默认是in-out

使用out-in,会先将就的去掉,再显示新的
<transition name='my-trans' mode='out-in'> 
    <p v-show="show">456</p>
</transition>

注意,多个元素的时候,过渡动画会消失,需要定义key区分每一个元素

<button @click="show=!show">button</button>
<transition name='fade' mode='out-in'>
    <p v-if="show" key='1'>456</p>
    <p v-else key='2'>11178911</p>
</transition>

使用JS过渡

js控制动画,是通过v-on事件控制的.

使用js过渡的时候,要在transition中绑定 v-bind:css='false':css='false'防止css样式的影响

<!--进入前,进入过程中,离开-->
<transition
    @before-enter='beforeEnter'
    @enter='enter' 
    @leave='leave'  
    :css='false'>
    <p class='js-class' v-show="show" >456</p>
</transition>

对应class

.js-class{
    position: absolute;
    top: 50px;
    left: 50px;
    color: red;
}

使用js操作动画:

        beforeEnter:function(el){
            $(el).css({
                left:'-500px',
                opacity:0
            })
        },
        enter:function(el,done){
            $(el).animate({
                left:'50px',/*进入的时候,跑到left到50位置*/
                opacity:1
            },{
                duration:1500,/*执行的ms数*/
                complete:done /*完成的之后*/
            });
        },
        leave:function(el,done){
            $(el).animate({
                left:'500px',/*离开的时候,向右移动500px后消失*/
                opacity:0
            },{
                duration:1500,/*离开时间*/
                complete:done
            })
        }

在这里插入图片描述

动画会在左右动作,没有定义的top不会有影响

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1095417.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基本地址变换机构

基本地址变换机构&#xff1a;用于实现逻辑地址到物理地址转换的一组硬件机构。 关于页号页表的定义&#xff0c;放个本人的传送门 1.页表寄存器 基本地址变换机构可以借助进程的页表将逻辑地址转换为物理地址。 1.作用 通常会在系统中设置一个页表寄存器&#xff08;PTR&…

KubeVela交付

有什么用我也不想说了&#xff0c;这个是k8s CI/CD,进阶玩家玩的了&#xff0c;比你们喜欢Arg CD更科学&#xff0c;更现代 在 Kubernetes 中安装 KubeVela helm repo add kubevela https://charts.kubevela.net/core helm repo update helm install --create-namespace -n v…

云耀云服务器L实例部署k8s测评|华为云云耀云服务器L实例评测使用体验

文章目录 云耀云服务器L实例部署k8s测评名词解释云耀云服务器L实例云耀负载均衡k8s及使用场景1.3.1 微服务架构1.3.2 自动化部署1.3.3 弹性伸缩1.3.4 多租户环境1.3.5 持续集成和持续部署 3. 部署华为云云耀服务器L实例3.1 云耀服务器L实例购买3.1.1 云耀服务器L实例初始化配置…

【Golang】grpc环境踩的坑

关于’protoc-gen-go’ 不是内部或外部命令 这个问题的出现是因为没有这个文件导致的 这个文件要通过我们下载的google.golang.org这个文件编译生成的 这里建议下载google提供的grpc包 protobuf的源码&#xff1a; git clone https://github.com/golang/protobuf 下载好之后进…

华为云云耀云服务器L实例评测|企业项目最佳实践之建议与总结(十二)

华为云云耀云服务器L实例评测&#xff5c;企业项目最佳实践系列&#xff1a; 华为云云耀云服务器L实例评测&#xff5c;企业项目最佳实践之云服务器介绍(一) 华为云云耀云服务器L实例评测&#xff5c;企业项目最佳实践之华为云介绍(二) 华为云云耀云服务器L实例评测&#xff5…

RTSP协议

1 前言 RTSP协议作为音视频实时监控一个非常重要的协议&#xff0c;具有非常广泛的应用。RTSP由RFC 2326规范化&#xff0c;它允许客户端通过请求不同的媒体资源来控制流媒体服务器。RTSP是一种应用层协议&#xff0c;通常基于TCP连接&#xff0c;用于建立和控制媒体会话。这使…

【opencv】windows10下opencv4.8.0-cuda Python版本源码编译教程

【opencv】windows10下opencv4.8.0-cuda Python版本源码编译教程 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【opencv】windows10下opencv4.8.0-cuda Python版本源码编译教程前言准备工具anaconda/cuda/cudnnanaconda创建环境(选做)安装原…

Jetpack:008-Icon与Image

文章目录 1. 概念介绍2. 使用方法2.1 Icon2.2 Image 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack中与Button相关的内容&#xff0c;本章回中主要I con与Image。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff01; 1. 概念介绍 我们在本章回中介绍…

graphviz报错

报错如下&#xff1a; graphviz.backend.ExecutableNotFound: failed to execute dot, make sure the Graphviz executables are on your systems PATH 大家习惯pip install graphviz去安装&#xff0c;但是graphviz是个软件&#xff0c;不能单独用Pip安装。 1、下载安装 G…

英语——语法——从句——非谓语动词——笔记

一、1定义 定义&#xff1a; 非谓语动词不是真正意义上的谓语动词&#xff0c;即在句中都不能单独作谓语。 非谓语动词主要有以下三种形式&#xff1a; 技巧&#xff1a;分析句子是先缩短为主谓宾&#xff0c;某人做某事&#xff0c;其他成分都是修饰限定作用。要么修饰明代词…

ECharts的基本使用

目录 一、使用前提 1、安装 2、创建文件 二、LineView.vue文件【相当于一个组件】 1、导入 2、methods方法下写init(){}方法进行选择 3、methods方法下写setOptioin(option) 4、init()函数调用 5、整合完整代码 三、IndexView.vue文件【实现组件引入显示】 1、引入 …

P34~36第八章相量法

8.1复数 复数可表示平面矢量、也可表示正弦量。特别是: 当复数表示正弦量的时候&#xff0c;此时复数称为相量。 8.2复数运算 复数除法也可看做乘法&#xff0c;乘法的几何意义是旋转&#xff08;辐角相加&#xff09;( e^x e^y e^xy)&#xff0c;同时伸缩&#xff08;模变…

计算机操作系统-第七天

1、计算机操作系统的结构&#xff08;续集&#xff09; 分层结构 特性&#xff1a;最底层是硬件&#xff0c;最高层是用户接口&#xff0c;每层只可使用更低的相邻层所提供的功能接口&#xff08;只有第一层可以直接操作硬件&#xff0c;第二次只能使用第一层提供的功能接口..…

英语——语法——从句——状语从句——笔记

一、概念 状语从句&#xff08;Adverbial Clause&#xff09;是指句子用作状语时&#xff0c;起副词作用的句子。状语从句中的从句可以修饰谓语。 状语从句根据其作用可分为时间、地点、原因、条件、目的、结果、让步、方式和比较等九 种状语从句。状语从句一般由连词(从属连词…

01_51单片机软件安装和使用

step1:keil软件安装 安装keil5&#xff1a;安装keil5 新用户进入官网下载需要先注册 官网&#xff1a;官网 嵌入式51开发资源百度网盘&#xff1a;江协科技 网盘地址&#xff1a;网盘地址 提取码&#xff1a;gdzf 桌面上出现该图标表示安装完成 双击图标打开对软件进行破…

向量空间概述

向量空间 向量空间与子空间 当存在这样的一组向量集合 V V V&#xff0c;其中 v &#xff0c; u &#xff0c; w v&#xff0c;u&#xff0c;w v&#xff0c;u&#xff0c;w分别为集合 V V V中的元素&#xff0c;以及存在标量c&#xff0c;d u v ∈ V uv \in V uv∈V u v …

【算法练习Day21】组合剪枝

​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;练题 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 组合剪枝总结&#xff1a; …

c语言练习88::移除链表元素

移除链表元素 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 代码&#xff1a; /*** Definition for sing…

基于Springboot宠物医院管理系统

项目环境&#xff1a; mysql5.7 jdk1.8

CSS之实现线性渐变背景

1. background: linear-gradient() background: linear-gradient是CSS中用于创建线性渐变背景的属性&#xff0c;这个属性允许你定义一个在元素的背景中进行渐变的效果&#xff0c;可以从一个颜色过渡到另一个颜色。 基本语法 background: linear-gradient(direction, color-…