vue实现一个展开和关闭的动画效果

2023-10-29

前言:

        用 vue+animation 来实现一个展开与关闭的效果。

效果图:

 组件逻辑:

1、核心是通过改动他的宽度来实现展开,收缩的效果

2、点击展开,分两步,

  •         先用动画显示一个展开的效果,
  •         再用定时器来让他的效果保存在最后一帧

3、点击收缩,逻辑和展开一样。

组件源码:

<template>
  <div>
    <el-button @click="changeShow(true)">展开</el-button>
    <el-button @click="changeShow(false)">关闭</el-button>
    <div class="mr_sty" :class="[{'animationWidth1':isShow === 1},{'animationWidth2':isShow === 2},{'animationWidth3':isShow === 3},{'animationWidth4':isShow === 4}]">
      <div style="width: 300px;height:100px;">
        你好你好你好
      </div>
    </div>
  </div>

</template>

<script>
  export default {
    data() {
      return {
        isShow: 1,
      }
    },
    methods: {
      changeShow(type) {
        //展开
        if (type) {
          this.isShow = 2
          setTimeout(() => {
            this.isShow = 3
          }, 3000)
        } else {
          //收起
          this.isShow = 4
          setTimeout(() => {
            this.isShow = 1
          }, 3000)
        }
      }
    }
  }
</script>

<style scoped>

  .mr_sty{
    overflow: hidden;
  }
  .animationWidth1{
    width: 0;
    height:0;
    background: red;
  }
  .animationWidth2{
    width: 300px;
    height:100px;
    background: red;
    position:relative;
    animation:animationWidth2 3s infinite;
    animation-iteration-count: 1;
  }
  @keyframes animationWidth2 {
    0%   {width:0}
    100% {width:300px}
  }
  .animationWidth3{
    width: 300px;
    height:100px;
    background: red;
  }
  .animationWidth4{
    width: 300px;
    height:100px;
    background: red;
    position:relative;
    animation:animationWidth4 3s infinite;
    animation-iteration-count: 1;
  }
  @keyframes animationWidth4 {
    0%   {width:300px}
    100% {width:0}
  }
</style>
  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue实现一个展开和关闭的动画效果 的相关文章

  • 如何解决此错误:属性 rel 的原始源值错误

    我正在尝试使用 w3c 验证我的网站 但出现错误 Bad value original source for attribute rel on element link The string original source is not a
  • 如何设置视频文件的预览,从输入类型='文件'中选择

    在我的模块之一中 我需要从 input type file 浏览视频 之后我需要在开始上传之前显示选定的视频 我使用基本的 HTML 标签来显示 但它不起作用 这是代码 document on change file multi video
  • 可以将position:absolute元素设为粘性吗?

    In CSS position sticky使元素能够显示position static行为 即 它采用文档流中的默认位置 直到到达某个滚动位置 然后采用position fixed行为 那么 这是否意味着我们不能使用position st
  • 无法正确显示行

    我应该在这个问题的开头说我完全没有 html css javascript 背景 所以请对我宽容点 如果我使用了错误的术语或者问了一个愚蠢的问题 没有提供足够的信息 请抱歉 我正在尝试让一个可扩展的表工作 通过阅读论坛线程 教程 将 nex
  • 使用其innerHTML查找元素

    请看一下这个 DOM 树 div div span Home1 span div span Home2 span span Home3 span div 现在假设我有一个场景 我以某种方式获得了第一个跨度的innerHTMLHome1 是否
  • 如何将 HTML 转换为 Markdown?

    我有一个类似 stackoverflow 的网站 有一个文本区域 人们可以在其中写答案 我用这个 PHP 库 http parsedown org 转换降价 我的意思是我使用该函数来转换 italic to i italic i inclu
  • 无法使用 BeautifulSoup4 (Python 3) 抓取特定表

    我想从 Ligue 1 足球网站上抓取一张表格 具体来说 该表包含有关卡片和裁判的信息 http www ligue1 com LFPStats stats arbitre competition D1 http www ligue1 co
  • VBA 完成 Internet 表单

    我正在寻找将 Excel 中的值放入网页的代码 Sub FillInternetForm Dim IE As Object Set IE CreateObject InternetExplorer Application IE naviga
  • 将 XSL-FO 转换为 HTML

    我有一组用于 PDF 生成的 XSL FO 文档 我还需要将相同的输出数据 PDF 格式 导出为 HTML 文件 此外 我需要 HTML 具有与 PDF 类似的样式 有没有办法使用 C 将 XSL FO 转换为 XHTML NOTE 我知道
  • div 中的中心文本?

    我有一个div 30px高和500px宽的 这div可以包含两行文本 一行在一行 并相应地设置样式 填充 但有时它只包含一行 我希望它居中 这可能吗 要水平居中 请使用text align center 要垂直居中 只能使用vertical
  • 如何在其他div id的悬停中使用div显示块

    如何打开div悬停时标记href tag 这是我在悬停 href 标签上显示 div 标签的代码 Services is id of href tag Services is id of div tag Service hover Serv
  • 滚动时的 CSS 背景模糊

    我有固定的背景图像 滚动时我希望图像变得模糊 我知道如何在 css 中进行模糊 但在特定的滚动位置进行 这是一个例子 https medium com good music f160ba9e6c52 https medium com goo
  • 固定 div 位于居中 div 旁边

    我有一个网页 其中有可滚动的内容 此内容包含在 content 内 位于页面的中心 现在我希望导航栏出现在内容左侧 50 像素处 该栏应具有固定位置 不应滚动 这是我到目前为止所尝试过的 nav position fixed top 50
  • 导航栏下拉菜单(折叠)在 Bootstrap 5 中不起作用

    我在尝试使用以下命令创建响应式菜单或下拉按钮时遇到问题Bootstrap 5一切似乎都正常 导航图标和下拉图标出现 但它不起作用 当我单击nav图标或dropdown按钮 无dropdown menu apears 我想特别提到的是 我还包
  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • 合并 2 个大型 CSS 文件的有效方法

    我正在寻找一个可以合并 2 个大型 CSS 文件的工具 到目前为止我尝试过的所有方法 例如CSSMerge 都没有成功 其中一些只是随机删除属性 其他人则因 webkit 和 moz 等非标准属性而窒息 并给我错误 我还需要保留每条规则大小
  • 如何从浏览器向服务器发送“页面将关闭”消息?

    我想向每个 html 文档添加一个脚本 JavaScript 该脚本向服务器发送两条消息 页面确实打开了 页面将关闭 此消息包含页面打开的时间 打开消息应在文档加载时 或加载完成时 发送 这是简单的部分 The close message
  • 使用javascript动态更新css内容

    需要将 css 更新为动态值 我不确定最好的方法是什么 div style zoom 1 div 缩放级别将根据窗口大小调整触发 应用程序将相应缩放 我将此应用程序加载到 cordova 中并让它在 iPAD 中运行 然后我意识到需要使用
  • 使用 CSS 折叠和展开元素

    我正在尝试构建一个页面 加载时仅可见标题 并且 当用户单击标题时 每个标题下方的表格会在隐藏和显示状态之间切换 我的限制是只能在 CSS 中执行此操作 这是我到目前为止想到的 https jsfiddle net Argoron c1ypx
  • Webpack 4:如何使用 LESS 获取 CSS 源映射?

    多年来我一直在尝试让 CSS 源映射在 webpack 中工作 但没有成功 我不确定链条中哪里出了问题 我希望有人能指出我正确的方向 这是发生的事情 行号是错误的 实际上文件名也是错误的 main less只是包含一堆 import也就是说

随机推荐

  • 博客搬家系列(六)-爬取今日头条文章

    博客搬家系列 六 爬取今日头条文章 一 前情回顾 博客搬家系列 一 简介 https blog csdn net rico zhou article details 83619152 博客搬家系列 二 爬取CSDN博客 https blog
  • 前端和后端就业前景如何?

    我个人的信息来源有两个渠道 一个是观察公司内网发布的招聘信息 另一个是观察朋友圈内猎头经常发布的招聘信息 基本算是从横向与纵向两个视角 较为全面的了解当前市场 先说结论 就国内市场而言 前端开发要求较容易 而发展前景相应的受限 发布的职位也
  • 数值作业:顺序消去法解线性方程组之C语言代码

    实际上后面的Guass列主选主元 全选主元 都是由顺序高斯消元法稍加改动变化而来的 但是顺序消元会出现一个问题 如果我们要保留的那个元的系数很小 那么在消元过程中 势必会用很大的数字乘以次方程后再加到别的方程上消去别的方程中的改元 这样就会
  • 《FFmpeg Basics》中文版-09-overlay-画中画

    正文 overlay视频技术经常被使用 常见的例子是放置在电视屏幕上的电视频道标志 通常位于右上角 以标识特定的频道 另一个例子是画中画功能 可以在主屏幕的其中一个角落显示小窗口 小窗口包含选定的电视频道或其他内容 同时在主屏幕上观看节目
  • Three.js基础介绍

    文章目录 前言 项目引入 项目介绍 推荐理由 场景展示 总结 前言 Three js是基于原生WebGL封装运行的三维引擎 在所有WebGL引擎中 Three js是国内文资料最多 使用最广泛的三维引擎 项目引入 Three js中文网 g
  • android 相机预览编译 libyuv 处理 YUV 数据

    下载源码 需翻墙 Android Studio 新建一个 NDK 项目 源码拷贝到 cpp 目录下 include 下面是头文件 source 下面是源码 其它文件基本用不到不用管 CMakeLists txt 是 cmake 编译脚本 现
  • IBM的语音识别(IBM speech to text 语言转换成文字)

    1 登陆网址https www ibm com watson developercloud speech to text html并注册 2 打开网址https console ng bluemix net catalog category
  • 前女友

    点击这个会出现代码 简而言之 要满足v1 v2 但是md5 v1 md5 v2 1 可以通过 PHP处理0e开头md5时hash字符串漏洞 0e开头md5所代表的值相同 来构造 下面这篇文章中有关于这个的构造 https blog csdn
  • 南航829数据结构历年真题答案

    2013年真题 第四题 问题描述 已知有两个带头结点的单链表A和B 元素值递增有序 编写函数调整删减链表 使A链表的元素值为A B的交集 并成为一个递减有序的单链表 要求写出算法思想以及相应代码 代码 2013数据结构第四题 include
  • 使用null,not in翻车了(oracle)

    水平有限 如有错误 请多指正 由于对null和not in理解得不是很透彻 导致在生产环境出问题了 请看下面的sql 为了简单 sql做过调整 select sd prestpword pres from ci pres pres wher
  • 全球第二大成人网站,黄了!

    推荐大家关注一个公众号 点击上方 编程技术圈 关注 星标或置顶一起成长 后台回复 大礼包 有惊喜礼包 每日英文 To give up is easy But to hold it together when everyone else th
  • 历届试题 高僧斗法  (博弈)

    题目 历届试题 高僧斗法 时间限制 1 0s 内存限制 256 0MB 锦囊1 博弈论 NIM取子游戏 锦囊2 将两个两个看成一组 他们之间的间隔可以看成一个NIM取子游戏 问题描述 古时丧葬活动中经常请高僧做法事 仪式结束后 有时会有 高
  • tomcat加载jar包顺序

    概述 项目使用springMVC serviceImpl注入的一个bean无法找到 究其原因是无法找到日志类 其实在spring的配置文件中配置了bean 而且程序代码在其他人的机子上运行不报错 我这边抱错 类找不到apache commo
  • 华为手机如何固定横屏_华为手机屏幕如何转为横屏?很简单,只需这样设置

    设置华为手机横屏显示 需要打开手机的 自动旋转 功能 在使用时将手机机身横置即可 以华为P20Pro为例 详细操作步骤如下 1 从屏幕顶部向下滑动 调出系统的通知面板 2 向下拖拽通知面板 让面板显示全部快捷功能 3 在通知面板中 找到并打
  • SQLyog快捷键,这一篇就够!!

    我们在使用SQLyog进操作时 如果不使用快捷键 会很麻烦 尤其是多行注释这种骚操作 所以在非常忙碌的工作中 使劲的挤了挤 挤出点时间 来整理一下sqlyog的常用快捷键骚操作 一 连接 Ctrl M 创建一个新的连接 Ctrl N 使用当
  • C# 参数传递(引用类型参数)

    目录 一 引言 二 引用类型参数作为值参数传递 三 引用类型参数作为引用参数传递 一 引言 方法中参数的传递方式主要有值参数传递和引用参数传递 ref out 而参数有可以分为值类型参数和引用类型参数 这里主要讲一讲引用类型参数的值 引用参
  • STM32F407IG单片机读写SD2405ALPI实时时钟程序(包括:读时钟时间、写时间到时钟、时间报警中断、倒计时中断)

    具体的IIC时序图和分析过程请参见下面网友的文章 https blog csdn net ybhuangfugui article details 52151835 本人在STM32F407单片机上亲测读时钟 写时钟 时间中断以及倒计时 秒
  • 简述RecyclerView的fling过程

    我们以RecyclerView为例 研究一下ListView是怎么滑动并且更新view的 首先可以肯定的是以Choreographer为基础实现的 一 fling过程研究 fling动作是由input事件触发的 1 1 RecyclerVi
  • 如何用Idea调试Maven插件

    调试端 maven插件源码端 被调试端 maven项目端 使用maven插件构建 和调试普通程序一样 只是调试命令有区别 过程原理如下 注 原理图片摘自https www cnblogs com turn2i p 11823884 html
  • vue实现一个展开和关闭的动画效果

    前言 用 vue animation 来实现一个展开与关闭的效果 效果图 组件逻辑 1 核心是通过改动他的宽度来实现展开 收缩的效果 2 点击展开 分两步 先用动画显示一个展开的效果 再用定时器来让他的效果保存在最后一帧 3 点击收缩 逻辑