javascript - 起搏功能参数
问题描述
我已经创建了我的函数,它将获取我的 API 以改变用户的节奏。在我的 changePace 函数中,我已经建立了我的参数速度,并且该参数将根据用户选择的速度而变化。我有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 - JavaScript如何检查页面上是否有文本
- botframework - 如何翻译机器人框架作曲家中的选择?
- angular - 执行函数后如何自动关闭 NbDialogModule?(不是背景点击)
- go - 两种方法的实现http请求
- php - 即使字段被 jQuery 隐藏,laravel 验证系统也会停止插入
- c# - How to force UI automation tree refresh
- python - 根据组对所有值列求和并在 df 中添加总行
- postgresql - 如何使用路径数组从 jsonb 获取元素
- signal-processing - 应该如何解释声压波的直流分量?
- c++ - C++中的accumulate()函数会加负数吗?