使用JavaScript实现响应式计数器动画

目录
  • 项目基本结构
  • 1.计数动画的 HTML 代码
  • 2.使用 CSS 设计网页
  • 3.Counter Up box的基本结构
  • 4.设计计数器动画的信息
  • 5.使用 CSS 使其具有响应性
  • 6.通过 JavaScript 激活计数器动画
  • 完整源码下载

在本文中,我们将学习如何使用 HTML CSS 和 JavaScript创建响应式计数器动画。 我们在很多地方都可以用,比如适用于不同类型的个人网站、企业网站等。

这种类型的计数器动画最常用于商业网站。例如,如果你想在你的企业网站上显示一些产品的数量,可以使用此项目。

这里的数字之间使用了计数动画。开发人员经常使用这种类型的响应式计数器动画来创建查询。但是,如果您愿意,可以借助简单的 javascript 来实现。

在线演示地址

项目基本结构

目录结构如下:

1.计数动画的 HTML 代码

我已经使用以下代码添加了所有信息。这里我做了四个框,在框中,你可以先看到图标,然后是数字倒计时,然后是文本。

    <div class="wrapper">
      <div class="container">
        <i class="fa-brands fa-html5"></i>
        <span class="num" data-val="580">000</span>
        <span class="text">HTML Project</span>
      </div>

      <div class="container">
        <i class="fa-brands fa-node-js"></i>
        <span class="num" data-val="360">000</span>
        <span class="text">Javascript Project</span>
      </div>

      <div class="container">
        <i class="fa-brands fa-java"></i>
        <span class="num" data-val="248">000</span>
        <span class="text">Java Project</span>
      </div>

      <div class="container">
        <i class="fa-brands fa-python"></i>
        <span class="num" data-val="120">000</span>
        <span class="text">Python Project</span>
      </div>
    </div>

2.使用 CSS 设计网页

我使用以下 CSS 代码设计了网页。这里在网页的背景中使用了一张图片,你可以使用任何背景颜色代替此图像。

* {
 padding: 0;
 margin: 0;
 box-sizing: border-box;
 font-family: "Poppins", sans-serif;
}

body {
 background: url("https://img-blog.csdnimg.cn/aff605fb499846f5911bec368762e829.png" );
 background-repeat: no-repeat;
 background-position: center;
 background-size: cover;
 height: 100vh;
}

.wrapper {
 position: absolute;
 width: 80vw;
 transform: translate(-50%, -50%);
 top: 50%;
 left: 50%;
 display: flex;
 justify-content: space-around;
 gap: 10px;}

3.Counter Up box的基本结构

现在我已经做了这个盒子,backdrop-filter:blur (10px)已被用来制作这些框的 width: 28vminheight: 28vmin,以及一些模糊的背景。

.container {
 width: 28vmin;
 height: 28vmin;
 display: flex;
 flex-direction: column;
 justify-content: space-around;
 padding: 1em 0;
 position: relative;
 font-size: 16px;
 border-radius: 0.5em;
 backdrop-filter: blur(10px);
 box-shadow: -1px -1px 4px #aaa9a9a2,
              1px 1px 7px rgba(147, 149, 151, 0.671);
}

4.设计计数器动画的信息

现在,我们使用以下代码设计图标、数字和文本。图标的颜色 I 蓝色,文本和数字颜色白色已被使用。你可以在此处根据自己的喜好更改颜色。

i {
 color: #42f9e8;
 font-size: 3.8em;
 text-align: center;
}

span.num {
 color: #ffffff;
 display: grid;
 place-items: center;
 font-weight: 600;
 font-size: 3em;
}

span.text {
 color: #e0e0e0;
 font-size: 1em;
 text-align: center;
 pad: 0.7em 0;
 font-weight: 400;
 line-height: 0;
}

5.使用 CSS 使其具有响应性

现在是时候让这个计数器动画具有响应性了,以下的 CSS 可以使其具有响应性。

@media screen and (max-width: 1024px) {
.wrapper {
 width: 85vw;
}
.container {
 height: 26vmin;
 width: 26vmin;
 font-size: 12px;
}
}

@media screen and (max-width: 768px) {
.wrapper {
  width: 90vw;
  flex-wrap: wrap;
  gap: 30px;
}
.container {
  width: calc(50% - 40px);
  height: 30vmin;
  margin-bottom: 25px;
  font-size: 14px;
}
}

@media screen and (max-width: 480px) {
.wrapper {
  gap: 15px;
}
.container {
  width: 100%;
  height: 25vmin;
  font-size: 8px;
  margin-bottom: 25px;
}
}

6.通过 JavaScript 激活计数器动画

我们已经完成了上面所有的设计工作,并让动画计数器响应。现在最重要的是让它发挥作用,为此我使用了一些 JavaScript。

let valueDisplays = document.querySelectorAll(".num");
let interval = 4000;

valueDisplays.forEach((valueDisplay) => {
  let startValue = 0;
  let endValue = parseInt(valueDisplay.getAttribute("data-val"));
  let duration = Math.floor(interval / endValue);
  let counter = setInterval(function () {
     startValue += 1;
     valueDisplay.textContent = startValue;
     if (startValue == endValue) {
       clearInterval(counter);
     }
   }, duration);
 });

到这里就完成了,我希望上面的代码和教程可以帮助你创建这个响应式计数器动画,你可以使用下面的方式获取源码。

完整源码下载

GitHub 地址

到此这篇关于使用JavaScript实现响应式计数器动画的文章就介绍到这了,更多相关JavaScript计数器动画内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • js计数器代码

    复制代码 代码如下: <script Language="javascript">  var seconds = 10;//记数时间  var handle;//事件柄 //开始记数器  function startTimer() {   handle = setInterval("timer()",1000);  } //结束记数器  function stopTimer() {   clearInterval(handle);   seconds =

  • JavaScript实现计数器基础方法

    本文实例为大家分享了js实现计数器的具体代码,供大家参考,具体内容如下 通过使用 JavaScript,设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行.称之为计时事件. 在 JavaScritp 中使用计时事件是很容易的,两个关键方法是: setInterval() - 间隔指定的毫秒数不停地执行指定的代码. setTimeout() - 暂停指定的毫秒数后执行指定的代码 Note: setInterval() 和 setTimeout() 是 HTML DOM Window对象的两

  • jsp计数器代码

    <!-- JSP-Hitcounter counts sessions.Copyright (C) 2000 Jesper Schmitz Mouridsen. Visit www.webappcabaret/jsm2/webapps.jsp?find=jsphcs for more info. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Ge

  • JS实现简单计数器

    用HTML CSS和JavaScript实现简单计数器,有加.减和零三个按钮,分别实现加一.减一和归零操作.下面先看一下效果图. HTML代码 <div class="body"> <div class="text"> <font>Counter</font> </div> <div class="count" > <span id="demo" c

  • 一个简单的网站访问JS计数器 刷新1次加1次访问

    复制代码 代码如下: <script language="JavaScript"><!-- var caution = falsefunction setCookie(name, value, expires, path, domain, secure) {        var curCookie = name + "=" + escape(value) +                ((expires) ? "; expires=

  • jsp网页计数器实现示例

    复制代码 代码如下: //过滤器类 public class EcondingFilter implements Filter { private String charset = null; private ServletContext context = null; private String path = ""; /** * 在销毁前将数据存入本地文件中 */ public void destroy() { //获取servleContext中的属性的那个值 String nu

  • 使用JavaScript实现响应式计数器动画

    目录 项目基本结构 1.计数动画的 HTML 代码 2.使用 CSS 设计网页 3.Counter Up box的基本结构 4.设计计数器动画的信息 5.使用 CSS 使其具有响应性 6.通过 JavaScript 激活计数器动画 完整源码下载 在本文中,我们将学习如何使用 HTML CSS 和 JavaScript创建响应式计数器动画. 我们在很多地方都可以用,比如适用于不同类型的个人网站.企业网站等. 这种类型的计数器动画最常用于商业网站.例如,如果你想在你的企业网站上显示一些产品的数量,可

  • javascript实现tab响应式切换特效

    本文实例讲解了tab响应式切换效果,利用js对样式进行动态切换即可. 多的不说,请看代码 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0,

  • 强大的JavaScript响应式图表Chartist.js的使用

    Chartist.js是一个非常简单而且实用的JavaScript前端图表生成器,它支持SVG格式,图表数据转换十分灵活,同时也支持多种图表展现形式,不失为一款前端开发者的开发利器. Chartist.js的特点 配置十分简单,可以很方便地转换各种图表数据格式. CSS和JavaScript分离,因此代码比较简洁,使用就相对方便. 使用SVG格式,因此Chartist.js可以很灵活的在Web页面上应用. 响应式图表,支持不同的浏览器尺寸和分辨率. 支持自定义 SASS 架构. Chartist

  • 纯javascript响应式树形菜单效果

    简要教程 aimaraJS是一款非常实用的纯javascript响应式多级目录树结构插件.该目录树可以动态添加和删除树节点,可以制作多级树结构,每个节点上可以都带有右键上下文菜单,并且每个节点上都可以配置不同的图标.它的特点有: 可以创建一个基本的树结构并渲染它. 可以实时添加和删除树节点. 可以显示不同的树节点图标. 在树节点打开和关闭的时候可以自定义事件. 每个树节点上都可以制作右键上下文菜单.   使用方法 使用该幻灯片插件需要在页面中引入Aimara.css和Aimara.js文件. <

  • jQuery实现鼠标响应式透明度渐变动画效果示例

    本文实例讲述了jQuery实现鼠标响应式透明度渐变动画效果.分享给大家供大家参考,具体如下: 先来看看运行效果: 具体代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>js动画-透明度变化</title> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.

  • jQuery实现鼠标响应式淘宝动画效果示例

    本文实例讲述了jQuery实现鼠标响应式淘宝动画效果.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>Jquery淘宝动画</title> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.js"></scri

  • javascript用rem来做响应式开发

    电脑版的商城昨晚做完了,今天赶着做手机端的,提到手机端的网站第一个想到的就是要 适应不同手机屏幕的宽度,保证在不同手机上都能正常显示给用户,我之前做这类网站都是无脑引进bootstrap的.但前一个项目做完之后我发现bootstrap虽好,但里面的各种样式我利用的很少,最多用到它排版,当网站最后上传的时候你会发现,即使压缩之后,它也会占用相当大的一部分,所以这次我想自己用原生写,响应式开发(我现在知道的尚浅)目前我了解有 1.百分比法: 顾名思义,页面的元素的margin,padding,wid

  • 使用Chart.js图表库制作漂亮的响应式表单

    入门基础 Chart.js是一个基于HTML5的开源图表库,可以方便简洁的绘制美观的图表. 主要特性包括: 1.支持6种不同的表格类型:曲线图.柱状图.饼状图.雷达图.极坐标区域图.环图. 2.基于HTML5开发,支持所有浏览器(包括IE7/8). 3.不依赖于其他任何库,仅有4.5k大小,并且可以进行定制. Chart.js 是一个基于 HTML5 canvas 的响应式.灵活的.轻量化的图表库.库中提供了六种不同的图表类型,每种类型都带有一系列的自定义选项.如果这些还不够,你还可以创造自己的

  • jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效

    支持响应式的jQuery焦点图片无缝滚动切换特效插件Elastislide,非常漂亮的图片轮播特效插件,支持左右轮播图片.上下轮播图片.自适应移动端显示,支持众多的参数配置:orientation :'horizontal'(水平切换),speed : 500(切换速度,单位毫秒),easing : 'ease-in-out'(动画效果), minItems : 3(默认展示的数量)等,浏览器兼容方面:IE8+.以及较现代浏览器,不介意低版本浏览器的可以使用,当然也可以使用到移动端触屏. 支持响

  • 利用js编写响应式侧边栏

    为了练手,自己学敲网站时刚好碰到需要制作侧边栏,在网上也查了各种插件以及框架都可以实现这个功能,但是想自己学着用js原生学一个试试,于是就初略完成了侧边栏的实现,可以让初学者参考参考,代码能力有限. 其中主要设计的就是animate()函数,animate() 方法执行 CSS 属性集的自定义动画.该方法通过CSS样式将元素从一个状态改变为另一个状态.CSS属性值是逐渐改变的,这样就可以创建动画效果.只有数字值可创建动画(比如 "margin:30px").字符串值无法创建动画(比如

随机推荐