Параметр функции стимуляции
Я создал свою функцию, которая будет загружать API для изменения темпа пользователя. В моей функции changePace я установил свой темп темпа, и этот параметр будет меняться в зависимости от того, какой темп выбран пользователем. У меня есть 4 шага, устойчивый, напряженный, изнурительный и отдыхающий. Любой из которых может быть моим параметром для функции changePace.
Но когда я пытаюсь вызвать мою функцию changePace с соответствующим параметром, я получаю следующую ошибку.
trail.js:8 Uncaught ReferenceError: steady is not defined
at HTMLBodyElement.document.body.onkeyup
JS FILE:
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();
});
});
}
1 ответ
Я верю, что ты намеревался steady
быть строкой, но вы записали ее как переменную, которую вы никогда не определяли.
Пытаться changePace('steady');
вместо.
Или, в качестве альтернативы, вы можете определить переменные где-нибудь, может быть, в верхней части файла. Это рекомендуемый подход, если вы собираетесь использовать 'steady'
строка в более чем одном месте.
var steady = 'steady';
var strenuous = 'strenuous';
var grueling = 'grueling';
var resting = 'resting';