首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使数字计数器在Wix Velo中计数多个元素

如何使数字计数器在Wix Velo中计数多个元素
EN

Stack Overflow用户
提问于 2022-02-17 15:55:28
回答 1查看 416关注 0票数 3

我正在Wix上做一个网站,它有像javascript一样工作的Velo (我对编码不太了解)

我试图做一个数字计数器,计数从0到一个给定的数字,我做到了,但我需要4个不同的计数器,不知道如何做,也许有人可以帮助,拜托。

所以我的代码是这样的

代码语言:javascript
复制
$w.onReady(function() {});

let startNum = 0;
let endNum = 145;
const duration = 20;

$w.onReady(function() {
  setInterval(() => {
    countUp();
  }, duration);
});


function countUp() {
  if (startNum <= endNum) {
    $w('#StartNumber').text = startNum.toString();
    startNum++;
  }
}

#startnumber是一个文本元素,从0到145,我想对另外3个元素#startnumber2、3和4执行同样的操作。

这就是我想要做的

EN

回答 1

Stack Overflow用户

发布于 2022-02-20 10:29:21

可以将计数逻辑提取到一个函数中,这样您就可以为所有文本组件调用它。

代码语言:javascript
复制
$w.onReady(function () {
  count($w('#text1'), 0, 150, 1000);
  count($w('#text2'), 0, 250, 1000);
  count($w('#text3'), 0, 500, 1000);
  count($w('#text4'), 0, 1000, 1000);
});

function count(obj, start, end, duration) {
  let startTimestamp = null;
  const step = (timestamp) => {
    if (!startTimestamp) startTimestamp = timestamp;
    const progress = Math.min((timestamp - startTimestamp) / duration, 1);
    obj.text = `${Math.floor(progress * (end - start) + start)}`;
    if (progress < 1) {
      requestAnimationFrame(step);
    }
  };
  requestAnimationFrame(step);
}

演示:https://moshef9.wixsite.com/count-numbers

计数器函数来自:https://stackoverflow.com/a/60291224/863110

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71161359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档