翻牌器特效--vue3 封装组件

news2024/11/16 3:41:18

1.效果图

2.下面为封装好的代码,在页面中引入即可 html

<template>
    <div id="flip-container" v-if="flag == false">
        <div id="digit-1"
             class="digit">0</div>
        <div id="digit-2"
             class="digit">0</div>
        <div id="digit-3"
             class="digit">0</div>
        <div id="digit-4"
             class="digit">0</div>
        <!-- <div id="digit-5" 
             class="digit" 
             >0</div> -->

    </div>
    <div id="flip-container" v-if="flag">
        <div id="digit-1"
             class="digit">0</div>
        <div id="digit-2"
             class="digit">0</div>
        <div id="digit-3"
             class="digit">0</div>
        <div id="digit-4"
             class="digit">0</div>
        <div id="digit-5" 
             class="digit" 
             >0</div>
    </div>
</template>

3.javaScript

<script setup>
    import {onMounted,defineProps} from 'vue'
    // defineProps中括号的值是传值页面等号左边的值
    const props = defineProps(['data'])
    let flag = false
    var data1 = props.data
    data1 = digitize(data1)
        if (data1.length == 4) {
            // flag = false
        } else if (data1.length == 5) {
            flag = true
        }
    
    
    function digitize (n) {  //接受一个number类参数,拆分成一个数组并返回
        var str = n + "";    //加上空字符中,把接收的参数转换为字符串
        var arr = [];         //声明结果空数组,稍后返回
        str.split("").forEach(function (item) {   //调用split,以空字符串为分隔符切割字符串并返回数组,在数组上调用forEach方法
            arr.push(parseInt(item));    //对传入的每个字符用pasreInt转换为数字并压入arr数组
        })
        return arr;  //返回结果数组
    }
    
    
    function fetchData(){
        // 遍历每一位数字
        for (var i = 0; i < data1.length; i++) {
            var digitElement = document.getElementById('digit-' + (i + 1));
            var currentDigit = parseInt(digitElement.innerText);
            var newDigit = parseInt(data1[i]);

            // 如果当前数字和新数字不相等,则翻转数字
            if (currentDigit !== newDigit) {
                
                digitElement.classList.add('flipped');

                // 使用 setTimeout 延迟恢复正常状态,等待翻转动画完成
                (function (element, digit) {
                    setTimeout(function () {
                        element.innerText = digit;
                        element.classList.remove('flipped');
                    }, 500);
                })(digitElement, newDigit);
            }
        }
       
       
    }


    onMounted(()=>{
        fetchData()
    })
</script>

4.css

<style>
#flip-container {
	display: flex;
	justify-content: center;
	margin-bottom: 20px;
	margin-left: 8px;
}

.digit {
	width: 15px;
	height: 33px;
	background-color: #1488cc;
	color: #00ffff;
	font-size: 20px;
	text-align: center;
	transform-style: preserve-3d;
	perspective: 1000px;
	margin-left: 5px;
	transition: transform 1s ease-in-out;
	border-radius: 2.5696px;
	line-height: 33px;
}

.digit.flipped {
	transform: rotateX(180deg);
}
</style>

5.需要页面引入即可

<flipper v-if="fourTodayTotalWeightFlag" :data="todayTotalWeight"></flipper>
                            <div>当日收货量(Kg)</div>

import flipper from '@/components/flipper/flipper.vue' 

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

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

相关文章

京东API商品详情接口丨关键词搜索接口丨优惠券接口丨京东店铺所有商品接口

京东API商品详情接口&#xff0c;关键词搜索接口&#xff0c;优惠券接口&#xff0c;京东店铺所有商品接口如下&#xff1a; item_get-获得JD商品详情 公共参数 请求地址: https://o0b.cn/anzexi 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&…

【深度学习】SimSwap: An Efficient Framework For High Fidelity Face Swapping 换脸,实战

代码&#xff1a;https://github.com/neuralchen/SimSwap 文章目录 摘要介绍RELATED WORK实验结论代码实操 SimSwap是一个高保真度人脸交换的高效框架。它将源脸的身份转移到目标脸上&#xff0c;同时保留目标脸的属性。该框架包括ID注入模块&#xff08;IIM&#xff09;&#…

SchedulingConfigurer教程,怎么使用Spring自带的可扩展定时任务调度接口

简介&#xff1a; SchedulingConfigurer 是 Spring 框架中的一个接口&#xff0c;用于配置任务调度&#xff08;scheduling&#xff09;的相关设置。在 Spring 中&#xff0c;任务调度通常通过 Spring 的任务调度模块&#xff08;Task Scheduling&#xff09;来实现&#xff0c…

定位咨询与资源分配:最大化效益的关键

在当今竞争激烈的商业环境中&#xff0c;企业如何确保每一分投资都能产生最大的回报?答案在于有效的市场定位和精明的资源分配。本文将探讨定位咨询如何成为企业资源分配和效益最大化的关键。 定位咨询的核心作用 定位咨询是企业发现其在市场上独特地位的过程。这不仅关乎营销…

门店如何设置多个联系电话和营业时间

​小程序中门店信息是非常重要的&#xff0c;通常需要有门店地址、门店电话和营业时间等。采云小程序支持设置多个门店联系电话&#xff0c;避免客户无法联系到门店。而且&#xff0c;也支持设置多个营业时间时段。例如周一到周五早08:00 - 18:00 。客户在周末下单的时候&#…

记录一次hibernate3.1 方言问题

错误&#xff1a;com.sun.proxy.$Proxy553 cannot be cast to java.lang.string 我们项目上&#xff0c;将mysql数据库迁移到达梦数据库&#xff0c;这样会造成数据库类型上在java查询下&#xff0c;会有不兼容的问题&#xff0c;比如clob&#xff0c;text等&#xff0c;…

Chrome 浏览器经常卡死问题解决

Chrome 浏览器经常卡死问题解决 chrome 任务管理器杀进程 mac 后台有很多 google chrome helper 线程并且内存占用较高 一直怀疑是插件的锅 其实并不是-0- 查看是哪个网页&#xff0c;哪个插件占用内存 chrome 更多工具 -> 任务管理器 切换到稳定版本的 chrome&#xff0c…

架构开发与优化咨询和实施服务

服务概述 得益于硬件平台算力的提升&#xff0c;汽车电子电气架构的集成度逐渐提高&#xff0c;从单体ECU、到功能域集成控制器、到区域集成控制器&#xff0c;多域融合成为了目前行业中软件工程的重要工作内容。同时&#xff0c;在传统控制器C代码开发的基础上&#xff0c;C、…

Postman实现接口的加密和解密

近期在复习Postman的基础知识&#xff0c;在小破站上跟着百里老师系统复习了一遍&#xff0c;也做了一些笔记&#xff0c;希望可以给大家一点点启发。 1、目前市面上的加密的方式 对称式加密&#xff1a;DES&#xff0c;AES&#xff0c;Base64加密算法 非对称加密&#xff1a…

电机应用-控制系统、PID

控制系统 对生产中某些关键性参数进行自动控制&#xff0c;使它们在受到外界干扰&#xff08;扰动&#xff09;的影响而偏离正常状态时&#xff0c;能够被自动地调节而回到工艺所要求地数值范围内。 自动控制系统分为&#xff1a;开环、闭环。 闭环自动控制系统原理 闭环控制是…

竞赛 题目:基于卷积神经网络的手写字符识别 - 深度学习

文章目录 0 前言1 简介2 LeNet-5 模型的介绍2.1 结构解析2.2 C1层2.3 S2层S2层和C3层连接 2.4 F6与C5层 3 写数字识别算法模型的构建3.1 输入层设计3.2 激活函数的选取3.3 卷积层设计3.4 降采样层3.5 输出层设计 4 网络模型的总体结构5 部分实现代码6 在线手写识别7 最后 0 前言…

springboot集成swagger3+解决页面无法访问问题

引入依赖 pom文件引入swagger3依赖 <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></dependency>配置启动文件 swagger使用ant_pattern_parser解析…

【Mycat2实战】三、Mycat实现读写分离

1. 无聊的理论知识 什么是读写分离 读写分离&#xff0c;基本的原理是让主数据库处理事务性增、改、删操作&#xff0c; 而从数据库处理查询操作。 为什么使用读写分离 从集中到分布&#xff0c;最基本的一个需求不是数据存储的瓶颈&#xff0c;而是在于计算的瓶颈&#xff…

第六届浙江省大学生网络与信息安全竞赛 2023年 初赛/决赛 WEB方向 Writeup

-------------------【初赛】------------------- easy php 简单反序列化 __debuginfo()魔术方法打印所需调试信息&#xff0c;反序列化时候执行&#xff01; 链子如下&#xff1a; BBB::__debuginfo()->CCC::__toString()->AAA::__call()EXP&#xff1a; <?php…

汽配零件发FBA美国专线

随着电商的迅速发展&#xff0c;跨境电商平台如亚马逊的FBA(Fulfillment by Amazon)服务成为了许多商家选择的销售渠道。对于汽配零件行业来说&#xff0c;发FBA美国专线可以打开更广阔的市场&#xff0c;并且有望获得可观的发展前景。下面将从市场分析和前景两个方面来探讨汽配…

多目标跟踪指标

Avg rank This is the rank of each tracker averaged over all present evaluaion measures 这是每个跟踪器在所有现有评估指标上的平均排名。 MOTA Multiple Object Tracking Accuracy This measure combines three error sources &#xff1a;false positives&#xf…

报错缺少class(org.apache.hadoop.hdfs.DistributedFileSystem)

平台报错缺少 java.lang.RuntimeException:java.lang.ClassNotFoundException: Class org.apache.hadoop.hdfs.DistributedFileSystem not found 实则是缺少jar包 hadoop-hdfs-client-3.1.1.3.1.0.0-78.jar 找到对应的jar放到程序的lib中即可

2023 年是无代码的一年,还要程序员吗?

从 Code 到 No Code&#xff0c;IT 界对简化代码开发的需求由来已久&#xff1a;过去数十年的发展历程中&#xff0c;在企业应用程序开发上&#xff0c;我们研发出工作流、智能业务流程管理系统、低代码/无代码、还有高生产力应用程序平台等应用开发形式。 有一句话在 IT 界流…

海康设备、LiveNVR等通过GB35114国密协议对接到LiveGBS GB28181/GB35114平台的详细操作说明

一、LiveNVR通过GB35114接入LiveGBS 1.1 开启LiveGBS 35114功能 信令服务livecms.ini配置文件中[sip]增加一行gm1 启动LiveCMS 1.2 生成设备端证书 我们用LiveNVR做为设备端向LiveGBS注册&#xff0c;这里先生成LiveNVR的设备证书&#xff0c;并将LiveNVR的设备证书给LiveGB…