使用Vue实现div上下收缩动画效果

2023-11-16

封装组件

<!-- ShrinkView.vue -->
<template>
	<div class="shrink-view">
		<div ref="text" @click="show()" v-html="value" class="text" :style="{maxHeight: (mIsOpen?contentHeight:50) + 'px'}">
			
		</div>
		<div :class="mIsOpen?'btn active':'btn'" @click="show()"><u-icon class="icon" name="arrow-down" color="#000"
				size="20"></u-icon></div>
	</div>
</template>

<script>
	export default {
		props: {
			value: String
		},
		updated() {
			this.init();
		},
		mounted() {
			this.init();
		},
		methods: {
			init() {
				this.$nextTick(() => {
					this.contentHeight = this.$refs.text.scrollHeight;
				});
			},
			show() {
				this.mIsOpen = !this.mIsOpen
			},
		},
		watch: {
			mIsOpen(newValue) {
				this.mIsOpen = newValue;
			}
		},
		data() {
			return {
				contentHeight: 0,
				mIsOpen: false,
			}
		}
	}
</script>

<style scoped lang="scss">
	.shrink-view {
		display: flex;
		justify-content: center;
		overflow: hidden;
		border-bottom: 1px solid #ccc;
	}

	.btn {
		font-size: 18px;
		width: 5%;
		display: flex;
		align-items: center;
		justify-content: center;
		transform: rotate(0deg);
		transition: all 0.3s;
	}

	.active {
		transition: all 0.3s;
		transform: rotate(180deg) !important;
	}

	.text {
		margin: 20px 4px;
		width: 90%;
		-webkit-transition-duration: 300ms;
		-moz-transition-duration: 300ms;
		-ms-transition-duration: 300ms;
		-o-transition-duration: 300ms;
		transition-duration: 300ms;
		overflow: hidden;
	}
</style>

使用

<collapse v-model="'文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字'"></collapse>

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

使用Vue实现div上下收缩动画效果 的相关文章

  • CSS 内边框?

    我纯粹用 CSS 创建了左侧的按钮 它是一个div 中的一个div 然而 右侧的三个按钮是background属性于img标签 我这样做是为了按照以下说明模拟翻转效果here http kyleschaeffer com best prac
  • JavaScript 可以检测用户的浏览器是否支持 gzip 吗?

    我可以使用 JavaScript 来检测用户的浏览器是否支持 gzip 压缩内容 客户端 而不是 Node js 或类似内容 我正在尝试支持以下边缘情况 有很多可能的文件可以加载到特定的 Web 应用程序上 最好在应用程序运行时根据需要加载
  • 有没有办法在 React 中自动播放音频而不使用 onClick 事件?

    我在尝试在 componentDidMount 中播放音频时收到此错误 未捕获 承诺中 DOMException play 失败 因为用户没有先与文档交互 componentDidMount document getElementById
  • 为动态加载的 HTML 内容触发 Bootstrap JS 行为

    我正在动态加载包含 Bootstrap 标记的 HTML 模板 但是 Bootstrap Javascript 行为不会应用于加载的内容 例如 如果加载的内容包含 Bootstrap 模式的标记 则该模式将无法正确运行 有没有办法可以触发
  • 删除Vue子组件

    我真的被这个问题困扰了 我创建了一个由子组件组成的 Vue 2 0 组件 它全部都是 Webpacked 等 例如 这是父组件 div h1 This is just a title for lulz h1 div
  • 为什么我需要使用 setState 回调来设置依赖于第一个项目的 setState 完成的第二个状态项目的状态?

    在此 componentDidUpdate 方法中 执行 setState 将引号设置为从 fetch 返回的内容后 我必须使用回调再次执行 setState 将 randomQuoteIndex 设置为调用 randomQuoteInde
  • 如何按时间间隔翻转div

    您好 请看这个脚本并告诉我如何按时间间隔翻转 A B 和 C div 我希望A先翻转然后停止 B接下来翻转并停止 然后C然后再次回到A B和C 就像循环一样 然后重新开始 这在 CSS3 中可能吗 在此代码中 所有 div 同时翻转 HOL
  • CSS如何制作可滚动列表

    我正在尝试创建一个由标题和标题下方的项目列表组成的网页 我希望项目列表可以垂直滚动 我还希望网页占据整个窗口 但不要更大 目前我的问题是项目列表不可滚动 而是延伸到窗口底部下方很远 这导致窗口可滚动 应该做什么CSS属性位于html bod
  • 如何防止输入文本中出现“后重音”

    我相信这是一个简单的问题 但在谷歌上搜索几个小时后我找不到任何答案 也许我无法在搜索中使用正确的单词 P 我有一个 javascript 方法 可以防止用户用数字以外的其他字符填充文本框 如下面的代码所示 它在 KeyDown 事件中使用
  • 使用 Javascript/Node.js 在代码内执行 mongoimport

    node js javascript 中是否有任何库可供个人使用mongoimport在代码中 据我了解 mongoimport 有点像 exe 您必须先执行它 然后才能使用其文本输入环境 是否可以在我的代码中执行 mongoimport
  • 使用 JavaScript 防止网页导航离开

    如何使用 JavaScript 防止网页导航离开 Using onunload允许您显示消息 但不会中断导航 因为为时已晚 然而 使用onbeforeunload将中断导航 window onbeforeunload function re
  • Vuetify 组件 v-form 对声明的 @submit 事件处理程序没有响应

    我正在使用 Vuetify 和 VueJS 最新版本 这是一个小模板登录 vue
  • 在“onClick”上切换 DIV 高度

    我想切换分区的高度 我尝试过将 animate 与 if else 语句一起使用 但它只会反弹 我现在使用的代码将隐藏我的分区而不是切换高度 点击时会触发 document ready function content1 toggle fu
  • Javascript等待/异步执行顺序

    所以我试图把我的头脑集中在 Promise await async 上 我不明白为什么当 go 执行时 带有 finished 的警报会紧随 console log coffee 之后 当所有函数都使用等待 承诺时 为什么它只等待 getC
  • 什么时候可以使用Javascript,什么时候不可以?

    不使用太多 javascript jquery 是个好习惯吗 我们应该尽可能避免它 为了良好的可访问性 吗 什么时候可以使用 JavaScript 什么时候不能在网页设计和开发中使用 JavaScript 在什么场景 什么条件下 Updat
  • 如何使用 fetch() 和 WhatWG 流获取文件上传进度

    注意 我并不是在寻找任何替代方案 我知道这可以通过 XMLHttpRequest 来完成 我也不关心浏览器支持 我只想了解新的 即将推出的标准 我有一个File https developer mozilla org en US docs
  • 如何给URL添加变量?

    我正在尝试从网站收集数据 我有一个 Excel 文件 其中包含该网站的所有不同扩展名 F i www example com example2 我有一个脚本可以成功从网站中提取 HTML 但现在我想为所有扩展自动执行此操作 然而 当我说 s
  • highchart堆积柱每个类别的总数据

    我想获取每个类别的总数据 这point stackTotal只给出活动数据的总数 从我粘贴的代码示例中 我想知道每种水果的总消耗量 因此 即使我单击右上角图例上的乔的名字 这使得堆叠图表上的所有乔信息都处于非活动状态 我仍然可以知道约翰 简
  • Array.of 与“[ ]”。何时使用 Array.of 而不是“[ ]”?

    当我发现时我正在读一些书Array of https developer mozilla org en docs Web JavaScript Reference Global Objects Array of 根据 MDN Array o
  • Html5画布最热门的任意形状

    我正在尝试开发可以在画布中渲染图像和文本的程序 我尝试处理画布中图像的点击 但它适用于可矩形图像 我的问题 您是否知道处理单击画布中图像的可见部分 非透明部分 的解决方案或框架 我正在寻找 ActionScript hitTestObjec

随机推荐

  • Qt自定义界面类并提升(提升的窗口部件),把OpenGL绘制的图形显示在QT的ui界面上

    编译环境 Qt Creator 5 4 0 mingw 最近利用QT做一个上位机界面 想用OpenGL将STL文件还原成三维模型 并将模型显示出来 那么问题来了 最简单的显示就直接创建一个窗口显示模型 根本就 没有用到QT的ui界面 现在的
  • JAVA区块链实战教程-杨长江-专题视频课程

    JAVA区块链实战教程 256人已学习 课程介绍 国内第一套以java语言讲解区块链原理的教程 包含实际项目和代码 让java从业人员 快速了解区块链和区块链原理 课程收益 1 区块链理论 以node js例子区块链原理有深刻理解 2 区块
  • 一个简单的外部系统调用接口日志记录demo

    一 实现思想 抽取接口共方法 作为抽象类 然后不同业务实现类继承此抽象类 实现具体业务 分析可知公共部分就是将外系统入参和接口返回参数记录到数据库 将其抽取出来 作为基础抽象类的公共方法 业务类继承此抽象类 使得不用在每一个业务实现类里面重
  • Selenium基础 — Selenium自动化测试框架介绍

    1 什么是selenium Selenium是一个用于Web应用程序测试的工具 只要在测试用例中把预期的用户行为与结果都描述出来 我们就得到了一个可以自动化运行的功能测试套件 Selenium测试套件直接运行在浏览器中 就像真正的用户在操作
  • spring+springMVC+MyBatis 分页功能代码封装

    页面效果图展示 分页工具类 Pagination package com wlsq kso util import java io Serializable import java util ArrayList import java ut
  • 【uniapp】原生子窗体subNvue的使用与踩坑

    需求 最近接到个需求 需要在video组件上弹出弹窗 也就是覆盖video这个原生组件 未播放时 弹窗可以覆盖 但是当video播放时 写的弹窗就覆盖不了了 因为video是原生组件 层级非常高 普通标签是覆盖不了的 map标签同理 覆盖原
  • 【前端】Bad control character in string literal in JSON解决方案(详解),JSON.parse(str)/Uncaught SyntaxEr报错解决方法。

    问题描述 let text fail station FSW WELDING DRY 2 r n fail resourceid 200118223 r n fail timestamp 2022 12 17 JSON parse text
  • 宝塔部署Springboot项目与踩坑

    目录 1 宝塔硬件方面 2 转储数据库 3 开放端口 4 打包maven项目 1 宝塔硬件方面 首先在宝塔上安装完成mysql与Tomcat 然后在MySQL的配置文件中添加 skip grant tables 重载配置并启动 注意可能会启
  • tomcat下CSS失效

    项目改界面的时候 把新界面套用到原有页面上去 总是不正常 有部分CSS显示不出来 弄了半天才发现 原来是tomcat缓存的问题 把tomcat的缓存 也就是work文件夹下的相关文件删除就正常了 具体原因好像是因为 tomcat的jsp文件
  • 16.BIO、NIO、AIO 有什么区别?

    简单介绍 BIO 就是传统的 java io包 它是基于流模型实现的 交互的方式是同步 阻塞方式 也就是说在读入输入流或者输出流时 在读写动作完成之前 线程会一直阻塞在那里 它们之间的调用时可靠的线性顺序 它的优点就是代码比较简单 直观 缺
  • Python分析

    一 前言 大家好 首先说明的是 这是一篇技术文 也是一篇not技术文 今天分享的是 当我获取了微信小程序英文取名的3500多个微信用户昵称 年龄段后 分析得到下面解果 二 Let s get it 1 基本信息获取 1 访问英文取名的用户基
  • 可视化修改SQL服务器名字,修改sql server服务器名称

    SQLServer复制需要有实际的服务器名称才能连接到 修改完后 重启SQL SERVER服务 第二种情况下 为远程服务器增加 别名 使用别名代替IP地址来连接远程数据库服务器 我自己用的是SQL SERVER2012 打开SQL SERV
  • selenium⼊⻔到放弃-------->学会了就是玩,能玩出花来

    目录 爬虫和反爬虫之间的斗争 爬虫的建议 动态HTML技术了解 获取ajax数据的方式 selenium chromedriver获取动态数据 selenium 下载chromedriver 安装Seleniumselenium入门 Chr
  • vue3 子组件向父组件传递数据,函数

    父组件向子组件传递参数请看 父组件vue3 setup 父组件向子组件传递参数 子组件 defineExpose 暴露uid name参数和sonToFather的方发 在setup语法糖里面defineExpose不用import引入直接
  • SummaryWriter的使用

    from torch utils tensorboard import SummaryWriter import numpy as np from PIL import Image writer SummaryWriter logs ima
  • el表达式和jstl标签库

    el表达式 只用于jsp页面中 el表达式的最初提出来的时候的作用 1 可以从域对象中获取数据 比较简单 获取域对象内容的表达式 pageContext request session application 2 第二种用法 在el表达式中
  • 一个可以让你斩获大厂Offer的笔记、速来领取

    青春啊 永远是美好的 可是真正的青春 只属于这些永远力争上游的人 永远忘我劳动的人 永远谦虚的人 最近收到不少的优秀学生投稿 他们有投稿手写笔记 有手写博客 也还有视频 小编也从中挑出几篇较为优秀的文章 下面一起看看吧 C认证优秀学员笔记又
  • HashMap多线程造成了CPU100%,死循环

    resize 方法的时候是罪魁祸首
  • STM32F1xx IAP跳转App 后中断异常及解决

    网上看到一些网友遇到STM3F1xx系列编写IAP程序经常遇到跳转到App后中断异常的问题 如一触发串口接收中断就复位等 现梳理如下 其实引起上述异常的根本原因就是 共用一组件 中断无入口 如 IAP程序中配置并打开了USART1接收中断
  • 使用Vue实现div上下收缩动画效果

    封装组件