首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为特定数字输入返回特定数字值的最佳方法是什么?

为特定数字输入返回特定数字值的最佳方法是什么?
EN

Stack Overflow用户
提问于 2022-07-08 19:45:52
回答 1查看 36关注 0票数 1

我试图根据javascript中另一个特定的数字值更新一个特定的数字值。

我正在寻找使用javascript的最佳方法,以便当'BPM‘值发生变化时,'time added’值也会发生变化,以匹配以下值:

BPM :增加时间

-52 : 4.75

-48 : 4.5

-44 : 3.8

-40 : 3.2

-36 : 2.5

-32 :2

-28 :2

-24 : 1.5

-20 : 1.25

-16 : 0.85

-12 : 0.75

-8 : 0.5

-4 : 0.25

0:0

4:0

8:-0.2

12:-0.4

16:-0.6

20:-0.6

24:-0.8

28:-0.9

32:-1.1

36:-1.1

40:-1.2

44:-1.35

48:-1.42

52:-1.55

我相信这可以用一系列的if..else if语句来完成,但这似乎很难做到。

下面是我用按钮单击来更新BPM的代码:

代码语言:javascript
复制
     function increase() {
        // Increase the playing speed by approx 1 BPM
        rate += 0.03808;
        bpm += 4;
    }

    function decrease() {
       // Decreasing the playing speed by 1 BPM
        if (rate > .25)
          rate -= 0.03808;
          bpm -= 4;
    }

我想添加另一个名为“时间变化”的变量,它将bpm的值映射到上面列表中的正确时间值,每次bpm增加或减少。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-08 20:05:17

您可以使用javascript对象这样做。只需在一个对象中给每个BPM一个值即可。然后将事件处理程序附加到BPM输入并检查该值是否存在并使用它。我只是为了测试而记录它。

代码语言:javascript
复制
let times = {
  "-52": "4.75",
  "-48": "4.5",
  "-44": "3.8",
  "-40": "3.2",
  "-36": "2.5",
  "-32": "2",
  "-28": "2",
  "-24": "1.5",
  "-20": "1.25",
  "-16": "0.85",
  "-12": "0.75",
  "-8": "0.5",
  "-4": "0.25",
  "0": "0",
  "4": "0",
  "8": "-0.2",
  "12": "-0.4",
  "16": "-0.6",
  "20": "-0.6",
  "24": "-0.8",
  "28": "-0.9",
  "32": "-1.1",
  "36": "-1.1",
  "40": "-1.2",
  "44": "-1.35",
  "48": "-1.42",
  "52": "-1.55"
};

let bpmInput = document.querySelector(".bpm");
bpmInput.addEventListener("input", function() {
  _time = times[bpmInput.value];
  if (_time) {
    console.log(_time)
  }
});
代码语言:javascript
复制
<input type="text" class="bpm">

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

https://stackoverflow.com/questions/72916310

复制
相关文章

相似问题

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