首页 > 编程语言 >基于HTML、CSS和JavaScript的滚动数字显示效果,类似于老式计数器或电子表上的数字滚动效果

基于HTML、CSS和JavaScript的滚动数字显示效果,类似于老式计数器或电子表上的数字滚动效果

时间:2024-10-01 08:51:28浏览次数:11  
标签:滚动 数字 样式 JavaScript 设置 按钮 const

这段代码实现了一个基于HTML、CSS和JavaScript的滚动数字显示效果,类似于老式计数器或电子表上的数字滚动效果。以下是代码的详细解释说明:

HTML结构

  1. 基础设置
    • <!DOCTYPE html> 声明文档类型为HTML5。
    • <html lang="en"> 指定文档语言为英文。
    • <meta charset="UTF-8"> 和 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 设置字符编码和视口,确保页面在各种设备上正确显示。
  2. 主体结构
    • <div class="container"> 包含整个数字滚动效果的容器。
    • <button> 一个按钮,用于生成11位随机数字。
    • <input type="text" id="input" placeholder="请输入金额"> 一个输入框,用于手动输入金额。
    • <div class="amount"> 包含多个数字滚动器的容器。
      • 每个数字滚动器由 <div id="counter" class="animated"> 和内部的 <ul class="digits column"> 组成,<ul> 包含从0到9的数字<li>项。

CSS样式

  1. 全局样式
    • * { padding: 0; margin: 0; box-sizing: border-box; } 清除所有元素的默认边距和填充,设置边框盒模型。
    • body { font-size: 50px; height: 100vh; display: grid; place-items: center; background: #0e141b; } 设置页面背景色,使用网格布局将内容居中。
  2. 容器和按钮样式
    • .container button 设置按钮的样式,包括填充、字体大小等。
    • #input 设置输入框的样式。
  3. 数字滚动器样式
    • .amount 设置数字滚动器容器的样式。
    • .digits 设置数字列表的样式,包括颜色、行高等。
    • .column 为数字列表设置动画效果。
    • .column li 设置每个数字项的最小高度。

JavaScript功能

  1. 变量初始化
    • const input = document.getElementById('input') 获取输入框元素。
    • const digits = document.querySelectorAll('.digits') 获取所有数字列表元素。
    • const counters = document.querySelectorAll('.animated') 获取所有动画容器元素。
    • const button = document.getElementsByTagName('button')[0] 获取按钮元素。
    • let size = 50, amount = '18'; 设置数字项的高度和初始金额。
  2. 事件绑定
    • input.onblur 当输入框失去焦点时,更新显示的金额。
    • button.onclick 当按钮被点击时,生成11位随机数字并更新显示的金额。
  3. 更新金额函数 updateAmount
    • 根据输入的金额或默认金额,更新每个数字滚动器的显示。
    • 使用 parseInt 解析每个数字,计算偏移量,并通过 transform: translateY() 设置滚动效果。
    • item.style.transitionDelay 设置每个数字项的动画延迟

标签:滚动,数字,样式,JavaScript,设置,按钮,const
From: https://blog.csdn.net/2201_76060199/article/details/142644011

相关文章

  • 南沙C++信奥赛陈老师解一本通题: 1963:【13NOIP普及组】小朋友的数字
    ​ 【题目描述】有 nn 个小朋友排成一列。每个小朋友手上都有一个数字,这个数字可正可负。规定每个小朋友的特征值等于排在他前面(包括他本人)的小朋友中连续若干个(最少有一个)小朋友手上的数字之和的最大值。作为这些小朋友的老师,你需要给每个小朋友一个分数,分数是这样规定的:......
  • 钉钉x昇腾:用AI一体机撬动企业数字资产智能化
    “走红”近两年后,大模型正在加速走进千行万业。由于大模型的主要模态是文字和图片,恰好是数字化办公最基础的内容要素,办公于是成了离AI最近的场景。公文写作、表格生成、提炼大纲、文本翻译、代码润色、数据统计、智能问答……越来越多的应用正在办公场景落地,曾经需要几个小时才能处......
  • C语言1—100的数字炸弹小游戏
    #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> #include<stdlib.h>#include<time.h>void menu(){printf("1=开始游戏\n");printf("0=不进行游戏\n");printf("请选择:");}void game(){int num=rand()%100+1; int inp......
  • javascript-Web APLs (一)
    WebAPl基本认知变量声明const优先,如果变量会改变,就用letconst声明的值不能更改,而且const声明变量的时候需要里面进行初始化l但是对于引用数据类型,const声明的变量,里面存的不是值,不是值,不是值,是地址比如://错误写法constgirlfriend=[]girlfr......
  • 数组中洛谷p1427小鱼的数字游戏
    先来看看题目吧:然后先来复习一下数组:你需要了解:数组的定义,数组的创建,数组的初始化,数组的使用(尤其是数组下标是从零开始的!)然后就来看思路吧:......
  • 什么是javascript的事件循环
    JavaScript的事件循环(EventLoop)是其执行机制的核心,用来处理异步操作,使得JavaScript能够实现非阻塞式的单线程异步编程。为了理解事件循环,首先要了解JavaScript是单线程的语言,这意味着它一次只能执行一个任务。但在实际应用中,比如I/O操作(网络请求、定时器、用户事......
  • 无限超人:RPA流程自动化助力企业数字化转型
    在21世纪,技术已成为推动企业增长的关键因素。为了保持竞争力,企业必须采用最新技术,实现数字化转型。RPA(RoboticProcessAutomation)技术是这一转型过程中的关键一步,它通过自动化重复性任务,提高企业的自动化、数字化和智能化水平。RPA技术简介RPA是一种数字化技术,通过模拟人类......
  • 百度换肤javascript
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=d......
  • [Python手撕]字典序的第K小数字
    classSolution:deffindKthNumber(self,n:int,k:int)->int:deffindk(n,k):defcountsteps(prefix,n):start=prefixend=prefix+1steps=0whilestart<......
  • 【JavaScript】搭建一个具有记忆的简洁个人待办网页
    1.HTML结构文档类型声明:<!DOCTYPEhtml>这告诉浏览器这是一个HTML5文档。HTML标签:<htmllang="zh-CN">表示整个页面的内容,lang="zh-CN"表示内容使用简体中文。头部信息:<head><!--...--></head>包含页面的元数据,如字符集、视图窗口设置、标题和样式。样......