javascript - 起搏功能参数

标签 javascript pace

我已经创建了我的函数,它将获取我的 API 来改变用户的速度。 在我的changePace函数中,我已经建立了参数pace,并且该参数将根据用户选择的pace而变化。我有 4 种步伐:稳定、费力、艰苦和休息。其中任何一个都可以作为我的changePace函数的参数。

但是当我尝试使用适当的参数调用我的changePace 函数时,我收到以下错误。

trail.js:8 Uncaught ReferenceError: steady is not defined
    at HTMLBodyElement.document.body.onkeyup 

JS 文件:

document.body.onkeyup = function(e){
    if(e.keyCode == 13){
        document.getElementById("paces").style.color = "white";
        paceDiv = true;
        console.log("Works");
    }
    if(e.keyCode == 49 && paceDiv == true) {
      changePace(steady);
      document.getElementById("paces").style.color = "black";
    }
    if(e.keyCode == 50 && paceDiv == true){
      changePace(strenuous);
      document.getElementById("paces").style.color = "black";
    }
    if(e.keyCode == 51 && paceDiv == true){
      changePace(grueling);
      document.getElementById("paces").style.color = "black";
    }
    if(e.keyCode == 52 && paceDiv == true){
      changePace(resting);
      document.getElementById("paces").style.color = "black";
    }
    if(e.keyCode == 32) {
      changeDay();
      document.getElementById("paces").style.color = "black";
    }
}

function changePace(pace) {
    fetch('/api/changePace',
        {method: "post",
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json'
            },
            body: '{"pace": "' + pace + '"}'
        })
    .then(function(response) {
        if (response.status !== 200) {
            console.log('Error: ' + response.status + "..." + response.value);
            return;
        }
        response.json().then(function(data) {
            changeDay();
        });
    });
}

最佳答案

我相信您希望将 steady 设为一个字符串,但您已将其编写为变量,而您从未定义过该变量。

尝试使用 changePace('steady'); 代替。

或者,您可以在某处定义变量,可能在文件顶部附近。如果您要在多个位置使用'steady' 字符串,这是推荐的方法。

var steady = 'steady';
var strenuous = 'strenuous';
var grueling = 'grueling';
var resting = 'resting';

关于javascript - 起搏功能参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53661080/

相关文章:

回发期间 Javascript 检测

javascript - Twitter Typeahead - Typescript 中的 Bloodhound 错误

javascript - 如何在td标签中显示pace.js页面加载进度

javascript - 仅在初始页面加载时显示的 React/Redux 应用程序(如 Pace.js)的百分比加载栏

javascript - 使用 Pace.js 跟踪动态加载的脚本

jquery - pace.js 从未达到 100%

javascript - 在 Javascript 中按日期对数组进行排序

javascript - 为什么 Gatsby/Facebook 找不到我的 og :image

javascript - 从现有 html 自动生成 html 源文档

javascript - 如何使用pace.js跟踪razor ajax表单