uniapp+Vue3(<script setup lang=“ts“>)模拟12306城市左右切换动画效果

效果图:

 

代码: 

<template><view class="container"><view class="left" :class="{ sliding: isSliding }" @animationend="resetSliding">{{ placeA }}</view><view class="center" @click="swapPlaces">切换</view><view class="right" :class="{ sliding: isSliding }" @animationend="resetSliding">{{ placeB }}</view></view>
</template><script setup lang="ts">
import { ref } from 'vue';// 声明地名变量
const placeA = ref('呼和浩特');
const placeB = ref('北京');
const isSliding = ref(false); // 控制滑动动画的标志// 交换地名函数
const swapPlaces = () => {if (isSliding.value) return; // 如果正在滑动,则不执行交换isSliding.value = true; // 开始滑动动画// 临时存储地名const temp = placeA.value;placeA.value = placeB.value;placeB.value = temp;// 触发动画(这里使用transition,你可以根据需要替换为CSS动画)setTimeout(() => {// 动画结束后重置滑动标志isSliding.value = false;}, 500); // 假设动画时长为500ms,根据实际情况调整
};// 重置滑动类(动画结束后调用)
const resetSliding = () => {if (!isSliding.value) return;isSliding.value = false; // 动画结束后重置滑动标志(防止多次触发)
};
</script><style scoped>
.container {display: flex;justify-content: space-between;align-items: center;width: 100%;height: 100vh; /* 或其他你需要的容器高度 */padding: 0 20px;box-sizing: border-box;
}.left, .right {flex: 1;text-align: center; /* 初始状态居中对齐,动画过程中会改变 */transition: transform 0.5s ease; /* 动画效果 */
}.left.sliding {text-align: right; /* 动画过程中右对齐 */transform: translateX(100%); /* 向右滑动到屏幕外 */
}.right.sliding {text-align: left; /* 动画过程中左对齐 */transform: translateX(-100%); /* 向左滑动到屏幕外 */
}.center {width: 50px; /* 或其他你需要的宽度 */display: flex;justify-content: center;align-items: center;
}.icon {width: 100%;height: auto;
}
</style>

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL训练营-慢查询诊断问题

慢查询相关参数和建议配置 slow_query_log long_query_time 日志开关&#xff0c;是否记慢查询日志以及超过多长时间判定为慢查询。 查看参数设置&#xff1a; SHOW VARIABLES LIKE ‘slow_query_log’;SHOW VARIABLES LIKE ‘long_query_time’; 实践建议&#xff1a; …

微服务学习-Nacos 注册中心实战

1. 注册中心的设计思路 1.1. 微服务为什么会用到注册中心&#xff1f; 服务与服务之间调用需要有服务发现功能&#xff1b;例如订单服务调用库存服务&#xff0c;库存服务如果有多个&#xff0c;订单服务到底调用那个库存服务呢&#xff08;负载均衡器&#xff09;&#xff0…

Mac 查看 Java SDK 和 Android SDK 的路径

1. Mac 如何查看 JavaSDK的路径 /usr/libexec/java_home -V2. Mac 如何查看 Android SDK 的路径 在 Android Studio 中按 cmd,打开设置&#xff0c;然后如下方式&#xff0c;第三步如果有值就是第三步的信息。 第三步如果没有值&#xff0c;点开Edit&#xff0c;值在下方&…

AI智慧社区--生成验证码

接口文档&#xff1a; 从接口文档中可以得知的信息&#xff1a; 代码的返回格式为json格式&#xff0c;可以将Controlller换为RestController前端发起的请求为Get请求&#xff0c;使用注解GetMapping通过返回的数据类型&#xff0c;定义一个返回类型Result package com.qcby.…

【LeetCode】--- MySQL刷题集合

1.组合两个表&#xff08;外连接&#xff09; select p.firstName,p.lastName,a.city,a.state from Person p left join Address a on p.personId a.personId; 以左边表为基准&#xff0c;去连接右边的表。取两表的交集和左表的全集 2.第二高的薪水 &#xff08;子查询、if…

DRG/DIP 2.0时代下基于PostgreSQL的成本管理实践与探索(下)

五、数据处理与 ETL 流程编程实现 5.1 数据抽取与转换(ETL) 在 DRG/DIP 2.0 时代的医院成本管理中,数据抽取与转换(ETL)是将医院各个业务系统中的原始数据转化为可供成本管理分析使用的关键环节。这一过程涉及从医院 HIS 系统中抽取患者诊疗数据,并对其进行格式转换、字…

数据缺失补全方法综述

数据缺失补全方法综述 摘要1. 引言2. 数据缺失的类型3. 数据缺失补全方法3.1 简单插补方法3.1.1 均值插补3.1.2 中位数插补3.1.3 众数插补3.1.4 前向填充和后向填充3.1.5 线性插值3.1.6 多重插补 3.2 基于模型的插补方法3.2.1 线性回归插补3.2.2 加权回归插补3.2.3 主成分分析&…

算法竞赛之离散化技巧 python

目录 离散化实战演练总结 离散化 不改变数据相对大小的情况下&#xff0c;对数据进行相应的下标映射&#xff0c;即离散化。 例如&#xff1a;【100,200,300,400,500】&#xff0c;离散化后为【1,2,3,4,5】 什么时候可以离散化&#xff1a;当数据只与它们之间的相对大小有关&a…

系统思考—业务协同

最近在和一些客户的沟通中&#xff0c;企业老板都提到一个共同的困惑&#xff1a;每个部门都感觉自己在解决问题&#xff0c;做了正确的事情&#xff0c;但为什么组织的绩效就是没有增长&#xff1f;更糟糕的是&#xff0c;大家都不知道问题到底出在哪里&#xff1f; 在这种情…

Git 详细安装教程以及gitlab添加SSH密钥

目录 一、下载安装 二、gitlab添加SSH密钥 一、下载安装 &#xff08;1&#xff09;去官网下载 找到下载的安装包双击进行安装。 &#xff08;2&#xff09;使用许可声明 双击下载后的 Git-2.47.1.2-64-bit.exe&#xff0c;开始安装&#xff0c;这个界面主要展示了 GPL 第…

编程题-两数相加(中等)

题目&#xff1a; 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&#xff0c;这…

电子应用设计方案103:智能家庭AI浴缸系统设计

智能家庭 AI 浴缸系统设计 一、引言 智能家庭 AI 浴缸系统旨在为用户提供更加舒适、便捷和个性化的沐浴体验&#xff0c;融合了人工智能技术和先进的水疗功能。 二、系统概述 1. 系统目标 - 实现水温、水位和水流的精确控制。 - 提供多种按摩模式和水疗功能。 - 具备智能清洁…

【MySQL】 库的操作

欢迎拜访&#xff1a;雾里看山-CSDN博客 本篇主题&#xff1a;【MySQL】 库的操作 发布时间&#xff1a;2025.1.23 隶属专栏&#xff1a;MySQL 目录 库的创建语法使用 编码规则认识编码集查看数据库默认的编码集和校验集查看数据库支持的编码集和校验集指定编码创建数据库验证不…

一位前端小白的2024总结

目录 简要 一、迷茫点的解决 &#xff08;1&#xff09;前端领域该怎么学&#xff1f; &#xff08;2&#xff09;旧技术还需要学吗&#xff1f; &#xff08;3&#xff09;我该学些什么&#xff1f; 二、折磨点的解决 &#xff08;1&#xff09;学技术成果回报太慢怎么…

kettle与Springboot的集成方法,完整支持大数据组件

目录 概要整体架构流程技术名词解释技术细节小结 概要 在现代数据处理和ETL&#xff08;提取、转换、加载&#xff09;流程中&#xff0c;Kettle&#xff08;Pentaho Data Integration, PDI&#xff09;作为一种强大的开源ETL工具&#xff0c;被广泛应用于各种数据处理场景。…

Linux探秘坊-------5.git

1.git介绍 1.版本控制器 为了能够更⽅便我们管理这些不同版本的⽂件&#xff0c;便有了版本控制器。所谓的版本控制器&#xff0c;就是能让你了解到⼀个⽂件的历史&#xff0c;以及它的发展过程的系统。通俗的讲就是⼀个可以记录⼯程的每⼀次改动和版本迭代的⼀个管理系统&am…

Linux网络之TCP

Socket编程--TCP TCP与UDP协议使用的套接字接口比较相似, 但TCP需要使用的接口更多, 细节也会更多. 接口 socket和bind不仅udp需要用到, tcp也需要. 此外还要用到三个函数: 服务端 1. int listen(int sockfd, int backlog); 头文件#include <sys/socket.h> 功能: …

【2024年华为OD机试】 (C卷,200分)- 字符串拼接(JavaScriptJava PythonC/C++)

一、问题描述 问题描述 给定一个字符列表&#xff08;字符范围为 a-z&#xff0c;且字符数量 M 满足 0 < M ≤ 30&#xff09;&#xff0c;从中选取字符&#xff08;每个字符只能使用一次&#xff09;拼接成长度为 N&#xff08;0 < N ≤ 5&#xff09;的字符串。要求拼…

AIGC专栏18——EasyAnimateV5.1版本详解 应用Qwen2 VL作为文本编码器,支持轨迹控制与相机镜头控制

AIGC专栏18——EasyAnimateV5.1版本详解 应用Qwen2 VL作为文本编码器&#xff0c;支持轨迹控制与相机镜头控制 学习前言相关地址汇总源码下载地址HF测试链接MS测试链接 测试效果Image to VideoText to Video轨迹控制镜头控制 EasyAnimate详解技术储备Qwen2 VLStable Diffusion …

软件测试 —— 性能测试(jmeter)

软件测试 —— 性能测试&#xff08;jmeter&#xff09; 什么是jmeter安装jmeterjmeter常用组件线程组取样器结果树 我们之前学习了接口测试工具Postman&#xff0c;我们今天要学习的是性能测试工具——jmeter 什么是jmeter Apache JMeter 是一个开源的性能测试工具&#xff…