返回顶部
首页 > 资讯 > 精选 >vue怎么实现数字动态翻牌器
  • 164
分享到

vue怎么实现数字动态翻牌器

2023-06-30 06:06:17 164人浏览 独家记忆
摘要

本篇内容主要讲解“Vue怎么实现数字动态翻牌器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue怎么实现数字动态翻牌器”吧!数字动态翻牌器最近项目里使用到了数字翻牌器,于是自己写了一个,动态的

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

数字动态翻牌器

最近项目里使用到了数字翻牌器,于是自己写了一个,动态的翻牌器

第一步创建一个组件页面,NumberCount.vue

思路:大概就是显示几位数,然后从0开始滚动到当前的数值的位置,在每一个位置都有0-9的数,然后就是往上滚动当前数值的次数到当前的数,话不多说上代码

<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 {  props: {    // 显示的数字    number: {      type: Number,    },    // 显示的长度    length: {      type: Number,    },  },  data() {    return {      orderNum: ['0', '0', '0', '0', '0', '0', '0', '0'], // 默认总数    };  },  mounted() {    setTimeout(() => {      this.toOrderNum(this.number); // 这里输入数字即可调用    }, 500);  },  watch: {    number: {      handler(val) {        this.toOrderNum(val);      },      deep: true,    },  },  methods: {    // 设置文字滚动    setNumberTransfORM() {      const numberItems = this.$refs.numberItem; // 拿到数字的ref,计算元素数量      // eslint-disable-next-line no-restricted-globals      const numberArr = this.orderNum.filter(item => !isNaN(item));      console.log(numberItems.length, numberArr);      // 结合CSS 对数字字符进行滚动,显示数量      for (let index = 0; index < numberItems.length; index += 1) {        const elem = numberItems[index];        elem.style.transform = `translate(-50%, -${numberArr[index] * 10}%)`;      }    },    // 处理总数字    toOrderNum(num) {      const numtext = num.toString();      if (this.length) {        if (numtext.length < this.length) {          const numlist = `0${numtext}`; // 如未满固定数,添加"0"补位          this.toOrderNum(numlist); // 递归添加"0"补位        } else if (numtext.length === num.length) {          this.orderNum = numtext.split(''); // 将其便变成数据,渲染至滚动数组        }      } else {        this.orderNum = numtext.split('');      }      // 数字中加入逗号      // const length = numtext.length / 3;      // let count = '';      // for (let i = 0; i < length; i += 1) {      //   if (i === 0) {      //     count += `${numtext.slice(i, i + 3)},`;      //     console.log(count);      //   } else if (i === length - 1) {      //     count += numtext.slice(i * 3, i * 3 + 3);      //     console.log(count);      //   } else {      //     count += `${numtext.slice(i * 3, i * 3 + 3)},`;      //     console.log(count);      //   }      // }      // this.orderNum = count.split('');      this.setNumberTransform();    },  },};</script><style scoped lang="scss">.box-item {  position: relative;  height: 34px;  font-size: 20px;  font-family: AzonixRegular;  color: #021c25;  line-height: 41px;  text-align: center;  list-style: none;  writing-mode: vertical-lr;  text-orientation: upright;}.mark-item {  width: 28px;  height: 34px;  position: relative;    background: url('~@/assets/images/overview/bg-chartNum.svg') no-repeat center    center;  background-size: 100% 100%;  list-style: none;  margin-right: 1px;  & > span {    position: absolute;    width: 100%;    height: 100%;    bottom: 2px;    left: 20%;    font-size: 20px;    writing-mode: vertical-rl;    text-orientation: upright;  }}.number-item {  width: 28px;  height: 34px;    background: url('~@/assets/images/overview/bg-chartNum.svg') no-repeat center    center;  background-size: 100% 100%;  // background: #ccc;  list-style: none;  margin-right: 1px;  & > span {    position: relative;    display: inline-block;    margin-right: 10px;    width: 100%;    height: 100%;    writing-mode: vertical-rl;    text-orientation: upright;    overflow: hidden;    display: flex;    align-items: center;    justify-content: center;    & > i {      font-style: normal;      position: absolute;      top: 8px;      left: 50%;      transform: translate(-50%, 0);      transition: transform 1s ease-in-out;      letter-spacing: 10px;    }  }}.number-item:last-child {  margin-right: 0;}</style>

不加逗号:

vue怎么实现数字动态翻牌器

加入逗号:

vue怎么实现数字动态翻牌器

至于样式背景可以自定义

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

--结束END--

本文标题: vue怎么实现数字动态翻牌器

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

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

猜你喜欢
  • vue怎么实现数字动态翻牌器
    本篇内容主要讲解“vue怎么实现数字动态翻牌器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue怎么实现数字动态翻牌器”吧!数字动态翻牌器最近项目里使用到了数字翻牌器,于是自己写了一个,动态的...
    99+
    2023-06-30
  • vue实现数字动态翻牌器
    数字动态翻牌器 最近项目里使用到了数字翻牌器,于是自己写了一个,动态的翻牌器 第一步创建一个组件页面,NumberCount.vue 思路:大概就是显示几位数,然后从0开始滚动到当前...
    99+
    2024-04-02
  • vue怎么实现翻牌动画
    本篇内容主要讲解“vue怎么实现翻牌动画”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue怎么实现翻牌动画”吧!应用场景常用于大屏订单数量展示原理利用css writing-mode: ver...
    99+
    2023-06-30
  • vue实现翻牌动画
    本文实例为大家分享了vue实现翻牌动画的具体代码,供大家参考,具体内容如下 应用场景 常用于大屏订单数量展示 原理 利用css writing-mode: vertical-rl ...
    99+
    2024-04-02
  • css3翻牌翻数字效果怎么实现
    这篇文章将为大家详细讲解有关css3翻牌翻数字效果怎么实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果图如下:没有具体说做什么效果,但是想着纯数字转换太简单了,然后就顺手做了一个翻牌的效果。效果预览...
    99+
    2023-06-08
  • vue版数字翻牌器怎么封装
    这篇文章主要介绍了vue版数字翻牌器怎么封装的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue版数字翻牌器怎么封装文章都会有所收获,下面我们一起来看看吧。封装vue版数字翻牌器<template>...
    99+
    2023-06-30
  • vue实现数字翻页动画
    本文实例为大家分享了vue实现数字翻页动画的具体代码,供大家参考,具体内容如下 一、看效果 二、实现步骤 1、新建翻页组件scrollNumber.vue <template...
    99+
    2024-04-02
  • vue版数字翻牌器的封装
    本文实例为大家分享了vue版数字翻牌器的封装代码,供大家参考,具体内容如下 封装vue版数字翻牌器 <template>      <div class="numb...
    99+
    2024-04-02
  • css怎么实现旋转翻牌动画效果
    小编给大家分享一下css怎么实现旋转翻牌动画效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!css动画之旋转翻牌效果,具体内容如下所示:我们先设置两个盒子大小,...
    99+
    2023-06-08
  • vue3.0翻牌数字组件怎么使用
    这篇“vue3.0翻牌数字组件怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue3.0翻牌数字组件怎么使用”文章吧...
    99+
    2023-06-30
  • vue怎么实现书本翻页动画效果
    本文小编为大家详细介绍“vue怎么实现书本翻页动画效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue怎么实现书本翻页动画效果”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。效果如下:关键字transform...
    99+
    2023-06-29
  • Vue怎么动态生成数据字段
    本篇内容主要讲解“Vue怎么动态生成数据字段”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue怎么动态生成数据字段”吧!动态生成数据字段实例1.父组件定义data里面的数据字段异步请求获取数据...
    99+
    2023-06-29
  • vue怎么实现数字变换动画
    今天小编给大家分享一下vue怎么实现数字变换动画的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。UI图数字部分如下:emmm。...
    99+
    2023-06-30
  • 怎么用CSS steps()函数实现随机翻牌效果
    这篇文章主要介绍“怎么用CSS steps()函数实现随机翻牌效果”,在日常操作中,相信很多人在怎么用CSS steps()函数实现随机翻牌效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,...
    99+
    2024-04-02
  • css3中怎么实现图片翻牌特效
    这篇文章给大家介绍css3中怎么实现图片翻牌特效,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。代码如下:<!doctype html><html><hea...
    99+
    2024-04-02
  • 怎么用vue实现动态路由
    这篇文章主要介绍了怎么用vue实现动态路由的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用vue实现动态路由文章都会有所收获,下面我们一起来看看吧。1、什么是动态路由?动态路由,动态即不是写死的,是可变的。...
    99+
    2023-07-02
  • vue怎么实现动态切换class
    本篇内容介绍了“vue怎么实现动态切换class”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!文件内容----//为item添加不存在的属性...
    99+
    2023-07-04
  • css怎么实现字体翻转
    本篇内容介绍了“css怎么实现字体翻转”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先,在页面中创建两个p标签,并添加文字用于对比;<...
    99+
    2023-07-04
  • python字典翻转怎么实现
    今天小编给大家分享的是python字典翻转怎么实现,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。第1关 创建大学英语四级单词字典本关任务:编写一个能创建大学英语四级单词字典的小程序。...
    99+
    2023-08-03
  • jQuery怎么实现翻牌或百叶窗效果
    本篇内容主要讲解“jQuery怎么实现翻牌或百叶窗效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“jQuery怎么实现翻牌或百叶窗效果”吧!效果预览:动态效果请进入:http://www.cn...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作