iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >JavaScript如何实现余额数字滚动效果
  • 559
分享到

JavaScript如何实现余额数字滚动效果

2023-06-22 05:06:14 559人浏览 安东尼
摘要

今天就跟大家聊聊有关javascript如何实现余额数字滚动效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.实现背景上周在一个完成任务领取红包的活动需求中,需要实现一个用户点击

今天就跟大家聊聊有关javascript如何实现余额数字滚动效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

1.实现背景

上周在一个完成任务领取红包的活动需求中,需要实现一个用户点击按钮弹出领取红包弹窗后,在关 闭弹窗返回原来的页面时,页面余额数字部分要展示一个每一位数字滚动后的效果。
因为之前没做过这样的效果,一开始也不知道要如何实现,本来想在GitHub上找一下相关的库,看到一个最高star的库,但发现它是依赖Jquery的,而且不可以npm包引入。感觉就很没有必要,本来项目React框架的,就是要尽量少的操作DOM,为了解决这个滚动就要引入jQuery,感觉不太合适。所以我决定还是自己实现,先看了一下别人的思路,然后自己再去实现。

2.实现思路

其实就是将传入的带滚动的n位数字拆分成每一个要滚动的数,然后动态的创建装着滚动到每一位相应数字的容器,然后放入传入的目标容器中。滚动到每一位相应的数字的实现可以通过动态创建从0到相应数字的间隔数的div,div的内容分别为对应的数字,就像一个竖直写着从0-n的长纸条,然后拉着它在指定时间内从0上拉到目标数字。

3.实现过程

既然要封装,还是写成class的形式吧,话不多说,直接上代码吧

class DigitScroll {  constructor(options) {    //获取容器的DOM,没有则抛出错误    this.container = document.querySelector(options.container);    if (!this.container) {      throw Error("no container");    }    this.container.style.overflow = "hidden";    this.container.style.display = "flex";    //可视容器高度 也是滚动间隔距离,容器要设置高度,否则默认30px    this.rollHeight = parseInt(getComputedStyle(this.container).height) || 30;    this.container.style.height = this.rollHeight + "px";  }  roll(num) {    // 将传入的要滚动的数字拆分后初始化每一位数字的容器    this.initDigitEle(num);    const numEles = this.container.querySelectorAll(".single-num");    // 遍历生成每一位数字的滚动队列,如滚动到7,则生成内容为0,1,2,3,4,5,6,7的7个div,用于滚动动画    [...numEles].forEach((numEle, index) => {      const curNum = 0;      let targetNum = Number(this.numberArr[index]);      if (curNum >= targetNum) {        targetNum = targetNum + 10;      }      let cirNum = curNum;      // 文档碎片,拼凑好后一次性插入节点中      const fragment = document.createDocumentFragment();      // 生成从0到目标数字对应的div      while (targetNum >= cirNum) {        const ele = document.createElement("div");        ele.innerhtml = cirNum % 10;        cirNum++;        fragment.appendChild(ele);      }      numEle.innerHTML = "";      numEle.appendChild(fragment);      //重置位置      numEle.style.CSSText +=        "-WEBkit-transition-duration:0s;-webkit-transfORM:translateY(0)";      setTimeout(() => {        numEle.style.cssText += `-webkit-transition-duration:1s;-webkit-transform:translateY(${          -(targetNum - curNum) * this.rollHeight        }px);`;      }, 50);    });  }  // 初始化容器  initDigitEle(num) {    // 数字拆分位数    const numArr = num.toString().split("");    // 文档碎片,拼凑好后一次性插入节点中    const fragment = document.createDocumentFragment();    numArr.forEach((item) => {      const el = document.createElement("div");      // 数字是要滚动的,非数字如.是不滚动的      if (/[0-9]/.test(item)) {        el.className = "single-num";        el.style.height = this.rollHeight + "px";        el.style.lineHeight = this.rollHeight + "px";      } else {        el.innerHTML = item;        el.className = "no-move";        el.style.verticalAlign = "bottom";      }      // el.style.float='left';      fragment.appendChild(el);    }, []);    this.container.innerHTML = "";    this.container.appendChild(fragment);    // 存储滚动的数字    this.numberArr = numArr.filter((item) => /[0-9]/.test(item));  }}

看完上述内容,你们对JavaScript如何实现余额数字滚动效果有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网精选频道,感谢大家的支持。

--结束END--

本文标题: JavaScript如何实现余额数字滚动效果

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

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

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

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

下载Word文档
猜你喜欢
  • JavaScript如何实现余额数字滚动效果
    今天就跟大家聊聊有关JavaScript如何实现余额数字滚动效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.实现背景上周在一个完成任务领取红包的活动需求中,需要实现一个用户点击...
    99+
    2023-06-22
  • JavaScript实现余额数字滚动效果
    目录1.实现背景2.实现思路3.实现过程1.实现背景 上周在一个完成任务领取红包的活动需求中,需要实现一个用户点击按钮弹出领取红包弹窗后,在关 闭弹窗返回原来的页面时,页面余额数字...
    99+
    2024-04-02
  • JavaScript怎么实现余额数字滚动效果
    这篇文章主要介绍“JavaScript怎么实现余额数字滚动效果”,在日常操作中,相信很多人在JavaScript怎么实现余额数字滚动效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • 如何用javascript实现文字滚动效果
    这篇文章主要介绍“如何用javascript实现文字滚动效果”,在日常操作中,相信很多人在如何用javascript实现文字滚动效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • JavaScript如何实现视差滚动效果
    本文小编为大家详细介绍“JavaScript如何实现视差滚动”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript如何实现视差滚动”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。概念视差滚动效果是一种...
    99+
    2023-07-05
  • HTML如何实现滚动文字效果
    小编给大家分享一下HTML如何实现滚动文字效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在HTML中,可以使用marquee标签实现滚动文字效果,该标签可以向...
    99+
    2023-06-15
  • Qt如何实现字幕滚动效果
    这篇文章主要介绍“Qt如何实现字幕滚动效果”,在日常操作中,相信很多人在Qt如何实现字幕滚动效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Qt如何实现字幕滚动效果”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-07-02
  • 如何使用JavaScript实现字体左右滚动效果
    随着社会的不断发展,前端开发技术也日益成熟。其中,JavaScript作为最主要的Web前端开发语言之一,拥有着丰富的扩展性和可操作性。在实际开发中,我们可以使用JavaScript来实现各种各样的动态效果,如字体左右滚动效果。本篇文章将详...
    99+
    2023-05-14
  • js如何实现文字滚动的效果
    这篇文章主要介绍“js如何实现文字滚动的效果”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“js如何实现文字滚动的效果”文章能帮助大家解决问题。1、取值:(1)writing-mode:horizon...
    99+
    2023-07-02
  • jquery数字滚动效果怎么实现
    您可以使用jQuery的.animate()方法来实现数字滚动效果。首先,您需要一个HTML元素来显示数字。例如,一个div元素:`...
    99+
    2023-08-09
    jquery
  • JavaScript实现长图滚动效果
    本文实例为大家分享了JavaScript之长图滚动的具体代码,供大家参考,具体内容如下 长图的滚动会涉及定时器: 我们先来回顾下定时器: <!DOCTYPE html&g...
    99+
    2024-04-02
  • python数字滚动效果怎么实现
    要实现数字滚动效果,可以使用Python的Tkinter库来创建一个简单的窗口应用程序。以下是一个示例代码,演示如何实现数字滚动效果...
    99+
    2024-03-01
    python
  • vue实现文字滚动效果
    本文实例为大家分享了vue实现文字滚动效果的具体代码,供大家参考,具体内容如下 项目需求:系统公告,要从右忘左循环播放的牛皮广告效果。 实现: 方案一:使用定时器和CSS3的过渡属性...
    99+
    2024-04-02
  • jQuery如何实现滚动效果
    这篇文章主要介绍了jQuery如何实现滚动效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 图片轮播:原理如下: 假设有三张图片,三张...
    99+
    2024-04-02
  • css如何实现文字循环滚动效果
    这篇文章主要介绍“css如何实现文字循环滚动效果”,在日常操作中,相信很多人在css如何实现文字循环滚动效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css如何实现文字循...
    99+
    2024-04-02
  • css如何实现滚动效果
    本篇内容主要讲解“css如何实现滚动效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css如何实现滚动效果”吧!css通过overflow属性设置滚动条示例:<html><h...
    99+
    2023-07-04
  • Javascript中怎么实现逐行滚动文字效果
    Javascript中怎么实现逐行滚动文字效果,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。//FILE: scrolltext.js CREATED: DannyKang...
    99+
    2023-06-03
  • web开发中如何实现大屏数字滚动效果
    这篇文章主要介绍web开发中如何实现大屏数字滚动效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!大屏数字滚动效果来源于最近工作中一张大屏的UI图,该UI图上有一个模块需要有数字往上...
    99+
    2024-04-02
  • Javascript如何实现字幕滚动
    小编给大家分享一下Javascript如何实现字幕滚动,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Javascript实现字幕...
    99+
    2024-04-02
  • js实现文字滚动的效果
    本文实例为大家分享了js实现文字滚动的效果的具体代码,供大家参考,具体内容如下 在之前小编已经和大家介绍了一些常用的js动画效果,在此,和大家介绍一种可能不太常用的动画效果。该动画效...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作