使用JavaScript和HTML的数计数器上的千位分隔符

如何解决使用JavaScript和HTML的数计数器上的千位分隔符

我在youtube中发现了一个专门处理html和javscript的计数器时遇到了麻烦。 计数器工作得很好,但是当计数器完成时,我找不到在数字上添加一些thousen分隔符的方法。

我要寻找的是在计数器以双头分隔符结束时对数字进行硬编码。我想那是最简单的方法。

如果没有,请通过另一种方式告诉我。

有人可以帮助我吗?

addEventListener('DOMContentLoaded',() => {
  const contadores = document.querySelectorAll('.contador-cantidad')
  const velocidad = 1000
  const animarContadores = () => {
    for (const contador of contadores) {
      const actualizar_contador = () => {
        let cantidad_maxima = +contador.dataset.cantidadTotal,valor_actual = +contador.innerText,incremento = (cantidad_maxima / velocidad)
        if (valor_actual < cantidad_maxima) {
          contador.innerText = Math.ceil(valor_actual + incremento)
          setTimeout(actualizar_contador,5)
        } else {
          contador.innerText = cantidad_maxima
        }
      }
      actualizar_contador()
    }
  }
  const mostrarContadores = elementos => {
    elementos.forEach(elemento => {
      if (elemento.isIntersecting) {
        elemento.target.classList.add('animar')
        elemento.target.classList.remove('ocultar')
        setTimeout(animarContadores,1000)
      }
    });
  }
  const observer = new IntersectionObserver(mostrarContadores,{
    threshold: 0.75
  })
  const elementosHTML = document.querySelectorAll('.contador')
  elementosHTML.forEach(elementoHTML => {
    observer.observe(elementoHTML)
  })
})
/*Numbers*/

.col-numeros {
  margin-top: 4%;
  margin-bottom: 4%;
  padding-left: 0%;
  padding-right: 0%;
}

.col-numeros h2 {
  display: inline-block;
  color: #30a6ff;
  margin-top: auto;
  margin-bottom: auto;
}

@media (max-width: 800px) {
  .col-titulo-50-negro h1 {
    font-size: 40px;
    text-align: center;
  }
  .col-parrafo-mayusculas-cian p {
    font-size: 20px;
    text-align: center;
  }
  .col-parrafo-mayusculas-cian-especial {
    text-align: center;
  }
  .col-parrafo-mayusculas-cian-especial p {
    font-size: 18px !important;
  }
  .punto-color-50 {
    position: relative;
    font-size: 40px;
    color: #0fe0c4;
  }
  .punto-color-media-30 {
    position: relative;
    font-size: 30px;
    color: #0fe0c4;
  }
  .punto-color-50-azul {
    position: relative;
    font-size: 30px !important;
    color: #30a6ff;
  }
  .punto-color-20 {
    position: relative;
    font-size: 16px;
    color: #0fe0c4;
  }
  .fila-titulo h2 {
    text-align: center;
  }
  .logo-sapb1 img {
    width: 300px;
    height: auto;
  }
  .titulo-cta-boton {
    font-size: 22px;
  }
  .col-parrafo-mayusculas-cian p {
    font-size: 18px !important;
  }
  .col-parrafo-mayusculas-azul {
    text-align: center;
  }
  .col-parrafo-mayusculas-azul p {
    font-size: 18px !important;
  }
  .btn-link {
    font-size: 16px;
  }
}

@media (max-width:400px) {
  .logo-sapb1 img {
    width: 160px;
    height: auto;
  }
  .col-titulo-50-negro h1 {
    font-size: 20px !important;
    font-weight: 800;
    color: #1c2529;
  }
  .col-parrafo-mayusculas-cian-especial p {
    font-size: 14px !important;
  }
  .col-p-18-izq p {
    font-size: 14px !important;
  }
  .texto-cian-19 {
    font-size: 15px !important;
  }
  .col-parrafo-mayusculas-cian p {
    font-size: 14px !important;
  }
  .titulo-columnas-negro {
    font-size: 18px;
  }
  .parrafo-columnas-negro {
    font-size: 14px;
  }
  .punto-color-22 {
    font-size: 18px;
  }
  .col-items-izq {
    margin-bottom: 4%;
  }
  .col-parrafo-mayusculas-azul p {
    font-size: 16px !important;
  }
  .punto-color-50-azul {
    font-size: 20px !important;
  }
  .col-numeros img {
    height: 50px;
    width: auto;
    margin: 0 0 0 0;
  }
  .col-numeros h2 {
    display: inline-block;
    color: #30a6ff;
    margin-top: auto;
    margin-bottom: auto;
    font-size: 14px;
  }
  .col-media-numeros {
    text-align: center !important;
  }
  .parrafos-modulos {
    font-size: 14px !important;
  }
  .btn-link {
    font-size: 14px;
  }
  .col-p-cian-sepcial {
    padding-left: 2%;
    padding-right: 2%;
  }
}

.contador-cantidad {
  display: inline-flex;
  color: white;
}

.col-numeros img {
  height: 65px;
  width: auto;
  text-align: center;
  margin: 0 2% 0 0;
}

.col-numeros p {
  color: #060808;
  text-align: center;
  margin: 4% 0;
  font-size: 18px;
  padding: 0 5%;
  width: 100%;
}

.numero-especial {
  font-size: 37px;
}

@keyframes aparecer {
  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.ocultar {
  opacity: 0;
}

.animar {
  animation: aparecer 1.3s;
}
<!DOCTYPE html>
<html>

<head>
  <title>SAP Business One - Star Technology</title>
  <script type="text/javascript" src="java-script/contador.js"></script>
</head>

<body>
  <div class="container-fluid" style="background: #e8e8e86e;">
    <div class="cuerpo-general">
      <div class="row fila-titulo pt-4">
        <h2>SAP Bsuiness One en n&uacute;meros<span class="punto-color-50-azul">.</span></h2>
      </div>
      <div class="row pt-2 pb-4 col-parrafo-mayusculas-azul">
        <p>CONECT&Aacute; Y OPTIMIZ&Aacute; TUS PROCESOS</p>
      </div>
      <div class="row">
        <div class="col-xl-4 col-md-4 col-sm-12 col-numeros contador ocultar">
          <div class="row" style="display: flex; justify-content: center; align-items: center;">
            <div class="col-5 p-0" style="text-align: right;">
              <img src="Imagenes/icono-clientes-servicio.png">
            </div>
            <div class="col-7 p-0" style="text-align: center;">
              <h2>+</h2>
              <h2 class="contador-cantidad" data-cantidad-total="65000">0</h2>
            </div>
          </div>
          <div class="row">
            <div class="col-5 p-0"></div>
            <div class="col-7 p-0" style="text-align: center;">
              <p>Clientes</p>
            </div>
          </div>
        </div>
        <div class="col-xl-4 col-md-4 col-sm-12 col-numeros contador ocultar">
          <div class="row" style="display: flex; justify-content: center; align-items: center;">
            <div class="col-5 p-0" style="text-align: right;">
              <img src="Imagenes/icono-usuarios-servicio.png">
            </div>
            <div class="col-7 p-0" style="text-align: center;">
              <h2>+</h2>
              <h2 class="numero-especial contador-cantidad" data-cantidad-total="1000000">0</h2>
            </div>
          </div>
          <div class="row">
            <div class="col-5 p-0"></div>
            <div class="col-7 p-0" style="text-align: center;">
              <p>Usuarios diarios</p>
            </div>
          </div>
        </div>
        <div class="col-xl-4 col-md-4 col-sm-12 col-numeros contador ocultar">
          <div class="row" style="display: flex; justify-content: center; align-items: center;">
            <div class="col-5 p-0" style="text-align: right;">
              <img src="Imagenes/icono-clientesarg-servicio.png">
            </div>
            <div class="col-7 p-0" style="text-align: center;">
              <h2>+</h2>
              <h2 class="contador-cantidad" data-cantidad-total="+400">0</h2>
            </div>
          </div>
          <div class="row">
            <div class="col-5 p-0"></div>
            <div class="col-7 p-0" style="text-align: center;">
              <p>Clientes en Argentina</p>
            </div>
          </div>
        </div>
      </div>
      <div class="row">
        <div class="col-xl-4 col-md-4 col-sm-12 col-numeros contador ocultar">
          <div class="row" style="display: flex; justify-content: center; align-items: center;">
            <div class="col-5 p-0" style="text-align: right;">
              <img src="Imagenes/icono-paises-servicio.png">
            </div>
            <div class="col-7 p-0" style="text-align: center;">
              <h2>+</h2>
              <h2 class="contador-cantidad" data-cantidad-total="+170">0</h2>
            </div>
          </div>
          <div class="row">
            <div class="col-5 p-0"></div>
            <div class="col-7 p-0" style="text-align: center;">
              <p>Pa&iacute;ses</p>
            </div>
          </div>
        </div>
        <div class="col-xl-4 col-md-4 col-sm-12 col-numeros contador ocultar">
          <div class="row" style="display: flex; justify-content: center; align-items: center;">
            <div class="col-5 p-0" style="text-align: right;">
              <img src="Imagenes/icono-lenguajes-servicio.png">
            </div>
            <div class="col-7 p-0" style="text-align: center;">
              <h2 class="contador-cantidad" data-cantidad-total="28">0</h2>
            </div>
          </div>
          <div class="row">
            <div class="col-5 p-0"></div>
            <div class="col-7 p-0" style="text-align: center;">
              <p>Lenguajes disponibles</p>
            </div>
          </div>
        </div>
        <div class="col-xl-4 col-md-4 col-sm-12 col-numeros contador ocultar">
          <div class="row" style="display: flex; justify-content: center; align-items: center;">
            <div class="col-5 p-0" style="text-align: right;">
              <img src="Imagenes/icono-localizaciones-servicio.png">
            </div>
            <div class="col-7 p-0" style="text-align: center;">
              <h2 class="contador-cantidad" data-cantidad-total="44">0</h2>
            </div>
          </div>
          <div class="row">
            <div class="col-5 p-0"></div>
            <div class="col-7 p-0" style="text-align: center;">
              <p>Localizaciones</p>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</body>

</html>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-