广告
返回顶部
首页 > 资讯 > 精选 >vue怎么实现翻牌动画
  • 335
分享到

vue怎么实现翻牌动画

2023-06-30 06:06:45 335人浏览 安东尼
摘要

本篇内容主要讲解“Vue怎么实现翻牌动画”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue怎么实现翻牌动画”吧!应用场景常用于大屏订单数量展示原理利用CSS writing-mode: ver

本篇内容主要讲解“Vue怎么实现翻牌动画”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue怎么实现翻牌动画”吧!

vue怎么实现翻牌动画

应用场景

常用于大屏订单数量展示

原理

  • 利用CSS writing-mode: vertical-rl 使数字垂直排列

  • 利用css transfORM 使数字滚动

实现思路

  • 根据css先让数字垂直排列,总共设置8列

  • 根据组件传递的数值,如果不满8位,递归补零

  • 补零之后,循环根据 translate(-50%, -${numberArr[index] * 10}%,查看动画

<template>    <div class="chartNum">        <div class="box-item">            <li                :class="{'number-item':!isNaN(item),'mark-item':!isNaN(item)}"                v-for="(item,index) in orderNum"                :key="index">                <span v-if="!isNaN(item)">                    <i ref="numberItem">0123456789</i>                </span>                <span class="comma" v-else>{{item}}</span>            </li>        </div>    </div></template><script>    export default {        name: "hChartNum",        props:{          num:{              type:Number,              default:1123          }        },        data() {            return {                orderNum: ['0', '0', '0', '0', '0', '0', '0', '0'], // 默认订单总数            }        },        mounted(){            setTimeout(() => {                this.toOrderNum(this.num) // 这里输入数字即可调用            }, 500);        },        methods:{            // 设置文字滚动            setNumberTransform(){                const numberItems = this.$refs.numberItem // 拿到数字的ref,计算元素数量                const numberArr = this.orderNum.filter(item => !isNaN(item))                // 结合css,让文字滚动起来                for (let index = 0; index < numberItems.length; index++) {                    const elem = numberItems[index];                    elem.style.transform = `translate(-50%, -${numberArr[index] * 10}%)`                }            },            // 处理订单数字            toOrderNum(num){                num = num.toString();                if(num.length < 8){                    num = '0' + num; // 未满8位,补零                    this.toOrderNum(num); // 递归添加"0"补位                }                else if(num.length == 8){                    this.orderNum = num.split('')                }                else{                    // 数据量超过8位                    this.$message.error('数据量过大');                }                this.setNumberTransform();            }        }    }</script><style scoped lang="less">    .box-item{        position: relative;        height: 100px;        font-size: 54px;        line-height: 41px;        text-align: center;        list-style: none;        color: #2D7CFF;        writing-mode: vertical-lr;        text-orientation: upright;        -moz-user-select: none;        -WEBkit-user-select: none;         -ms-user-select: none;         -khtml-user-select: none;         user-select: none;    }        .number-item{        width: 10px;        height: 100px;        margin-right: 5px;        line-height: 10px;        font-size: 48px;        position: relative;        & > span{            position: absolute;            width: 100%;            bottom: 0;            writing-mode: vertical-rl;            text-orientation: upright;          }    }        .number-item {        width: 41px;        height: 75px;        background: url(./img/bg.jpg) no-repeat center center;        background-size: 100% 100%;        list-style: none;        margin-right: 5px;        border-radius:4px;        border:1px solid rgba(221,221,221,1);        & > span{            position: relative;            display: inline-block;            margin-right: 10px;            width: 100%;            height: 100%;            writing-mode: vertical-rl;            text-orientation: upright;            overflow: hidden;            & > i {                font-style: normal;                position: absolute;                top:11px;                left: 50%;                transform: translate(-50%,0);                transition: transform 1s ease-in-out;                letter-spacing: 10px;            }        }    }    .number-item:last-child {        margin-right: 0;    }</style>

到此,相信大家对“vue怎么实现翻牌动画”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: vue怎么实现翻牌动画

本文链接: https://www.lsjlt.com/news/327622.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue怎么实现翻牌动画
    本篇内容主要讲解“vue怎么实现翻牌动画”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue怎么实现翻牌动画”吧!应用场景常用于大屏订单数量展示原理利用css writing-mode: ver...
    99+
    2023-06-30
  • vue实现翻牌动画
    本文实例为大家分享了vue实现翻牌动画的具体代码,供大家参考,具体内容如下 应用场景 常用于大屏订单数量展示 原理 利用css writing-mode: vertical-rl ...
    99+
    2022-11-13
  • css怎么实现旋转翻牌动画效果
    小编给大家分享一下css怎么实现旋转翻牌动画效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!css动画之旋转翻牌效果,具体内容如下所示:我们先设置两个盒子大小,...
    99+
    2023-06-08
  • vue怎么实现数字动态翻牌器
    本篇内容主要讲解“vue怎么实现数字动态翻牌器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue怎么实现数字动态翻牌器”吧!数字动态翻牌器最近项目里使用到了数字翻牌器,于是自己写了一个,动态的...
    99+
    2023-06-30
  • vue实现数字动态翻牌器
    数字动态翻牌器 最近项目里使用到了数字翻牌器,于是自己写了一个,动态的翻牌器 第一步创建一个组件页面,NumberCount.vue 思路:大概就是显示几位数,然后从0开始滚动到当前...
    99+
    2022-11-13
  • vue实现数字翻页动画
    本文实例为大家分享了vue实现数字翻页动画的具体代码,供大家参考,具体内容如下 一、看效果 二、实现步骤 1、新建翻页组件scrollNumber.vue <template...
    99+
    2022-11-13
  • vue怎么实现书本翻页动画效果
    本文小编为大家详细介绍“vue怎么实现书本翻页动画效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue怎么实现书本翻页动画效果”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。效果如下:关键字transform...
    99+
    2023-06-29
  • 微信小程序实现九宫格翻牌动画
    本文实例为大家分享了微信小程序实现九宫格翻牌的具体代码,供大家参考,具体内容如下 9宫格翻牌需求: 1.进来时平铺9个格子显示 2.点击开始抽奖时洗牌动作 3.洗完牌后呈现9个都是...
    99+
    2022-11-13
  • Vue实现牌面翻转效果
    本文实例为大家分享了Vue实现牌面翻转效果的具体代码,供大家参考,具体内容如下 1.实现效果 实现一个点击沿中心Y轴翻转的翻转效果。 2.方法 分前(front)、后(behind...
    99+
    2022-11-12
  • css3翻牌翻数字效果怎么实现
    这篇文章将为大家详细讲解有关css3翻牌翻数字效果怎么实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果图如下:没有具体说做什么效果,但是想着纯数字转换太简单了,然后就顺手做了一个翻牌的效果。效果预览...
    99+
    2023-06-08
  • css怎么实现倒计时翻页动画
    小编给大家分享一下css怎么实现倒计时翻页动画,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!css实现倒计时翻页动画的方法:首先设置外盒子和内盒子;然后内盒子的移动动画的【animation-timing-function...
    99+
    2023-06-13
  • Vue如何实现牌面翻转效果
    这篇文章主要讲解了“Vue如何实现牌面翻转效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue如何实现牌面翻转效果”吧!1.实现效果实现一个点击沿中心Y...
    99+
    2022-10-19
  • vue实现书本翻页动画效果实例详解
    偶然兴起,想要用vue来做一个书本的组件,有了这个想法后边开始动手,先简单地实现基本的效果,为后续封装为组件进行准备工作,实现该效果的要使用vue + css + JavaScri...
    99+
    2022-11-13
  • Android实现卡片翻转动画
    最近项目上用到了卡片的翻转效果,大致研究了下,也参考了网上的一些Demo,简单实现如下: activity_main.xml <?xml version=...
    99+
    2022-06-06
    动画 Android
  • 利用Vue实现卡牌翻转的特效
    目录前言实现鼠标移入选中效果卡片翻转效果完整代码结语前言 今天是正月初九,也是活动的倒数第二天,复工都三天了,而我三篇春节文章还没写完,实在是太混了!这次带来的是一个春节抽福卡页面,...
    99+
    2022-11-13
  • vue版数字翻牌器怎么封装
    这篇文章主要介绍了vue版数字翻牌器怎么封装的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue版数字翻牌器怎么封装文章都会有所收获,下面我们一起来看看吧。封装vue版数字翻牌器<template>...
    99+
    2023-06-30
  • js怎么实现带翻转动画图片时钟
    这篇文章主要讲解了“js怎么实现带翻转动画图片时钟”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“js怎么实现带翻转动画图片时钟”吧!首先上图,先看效果1、需求根据当前系统时间来更改这个时钟,...
    99+
    2023-06-30
  • css3中怎么实现图片翻牌特效
    这篇文章给大家介绍css3中怎么实现图片翻牌特效,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。代码如下:<!doctype html><html><hea...
    99+
    2022-10-19
  • Android实现Flip翻转动画效果
    本文实例讲述了Android实现Flip翻转动画效果的方法,分享给大家供大家学习借鉴。 具体实现代码如下: LinearLayout locationLL = (Linear...
    99+
    2022-06-06
    动画 Android
  • Vue中CSS动画怎么实现
    本篇内容主要讲解“Vue中CSS动画怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue中CSS动画怎么实现”吧!显示的过程:在动画即将被执行的瞬间,会往div上增加两个class名:f...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作