Javascript 错误:单击按钮后更新电梯和用户的值
我正在创建一个电梯程序,其中包括电梯内的向上、向下按钮(外部功能)和按钮(0至5::内部功能)。我的外部功能正常工作,但当电梯内用户按下任何按钮时,电梯应前往该位置。并更新用户和电梯的位置。但是当我按下按钮(0,1,2,3,4,5)时,它不工作。谁能帮我解决这个问题。提前谢谢Javascript 错误:单击按钮后更新电梯和用户的值,javascript,Javascript,我正在创建一个电梯程序,其中包括电梯内的向上、向下按钮(外部功能)和按钮(0至5::内部功能)。我的外部功能正常工作,但当电梯内用户按下任何按钮时,电梯应前往该位置。并更新用户和电梯的位置。但是当我按下按钮(0,1,2,3,4,5)时,它不工作。谁能帮我解决这个问题。提前谢谢 code:: <!DOCTYPE html> <html lang="en"> <head> <title>elevator</title> </h
code::
<!DOCTYPE html>
<html lang="en">
<head>
<title>elevator</title>
</head>
<body>
<h2>Internal Functions</h2>
<span>current user position :: </span>
<p id="userPosition"></p>
<span>current elevator position :: </span>
<p id="elevatorPostion"></p>
<button id="btn" onclick="inFunction(0)" value="0">0</button>
<button id="btn" onclick="inFunction(1)" value="1">1</button>
<button id="btn" onclick="inFunction(2)" value="2">2</button>
<button id="btn" onclick="inFunction(3)" value="3">3</button>
<button id="btn" onclick="inFunction(4)" value="4">4</button>
<button id="btn" onclick="inFunction(5)" value="5">5</button>
<h2>External Functions</h2>
user position:
<input type="text" id="userText" name="UserPosition" value="0">
<button onclick="exFunction('up')">UP</button>
<button onclick="exFunction('down')">DOWN</button>
<script>
var userPosition = 0,
elevatorPosition = 4
function exFunction(pressedValue) {
console.log(pressedValue);
var userPosition = document.getElementById("userText").value;
document.getElementById("userPosition").innerHTML = userPosition;
document.getElementById("elevatorPostion").innerHTML = elevatorPosition;
var intervalEle = setInterval(function () {
if (userPosition > elevatorPosition) {
console.log('Elevator position', elevatorPosition);
elevatorPosition++;
} else if (userPosition < elevatorPosition) {
elevatorPosition--;
} else {
elevatorPosition == userPosition;
clearInterval(intervalEle);
}
document.getElementById("userPosition").innerHTML = userPosition;
document.getElementById("elevatorPostion").innerHTML = elevatorPosition;
}, 1000);
}
function inFunction(clickedValue) {
var btnValue = document.querySelector('btn').value;
document.getElementById("userPosition").innerHTML = userPosition;
document.getElementById("elevatorPostion").innerHTML = elevatorPosition;
console.log(btnValue);
var intervalEle2 = setInterval(function () {
if (elevatorPosition > btnValue) {
elevatorPosition--
} else if (elevatorPosition < btnValue) {
elevatorPosition++
} else {
elevatorPosition == btnValue;
clearInterval(intervalEle2)
}
document.getElementById("userPosition").innerHTML = userPosition;
document.getElementById("elevatorPostion").innerHTML = elevatorPosition;
}, 1000)
}
</script>
</body>
</html>
code::
电梯
内部功能
当前用户位置::
当前电梯位置::
0
1.
2.
3.
4.
5.
外部功能
用户位置:
向上的
向下
var userPosition=0,
升降器位置=4
功能exFunction(按值){
console.log(按值);
var userPosition=document.getElementById(“userText”).value;
document.getElementById(“userPosition”).innerHTML=userPosition;
document.getElementById(“elevatorPosition”).innerHTML=elevatorPosition;
var intervalEle=setInterval(函数(){
如果(用户位置>升降器位置){
控制台日志(“电梯位置”,电梯位置);
升降器位置++;
}else if(用户位置<升降器位置){
升降器位置--;
}否则{
升降器位置==用户位置;
间隙(间隙);
}
document.getElementById(“userPosition”).innerHTML=userPosition;
document.getElementById(“elevatorPosition”).innerHTML=elevatorPosition;
}, 1000);
}
函数中的函数(单击值){
var btnValue=document.querySelector('btn').value;
document.getElementById(“userPosition”).innerHTML=userPosition;
document.getElementById(“elevatorPosition”).innerHTML=elevatorPosition;
console.log(BTN值);
var intervalEle2=设置间隔(函数(){
如果(升降机位置>BTN值){
升降器位置--
}否则如果(升降器位置
输出:
页面上没有
元素,因此document.querySelector('btn')
返回null
。您非法将“btn”
重新用作id,因此document.getElementById('btn')
也不会做您期望的事情
您已经获得了单击的按钮的编号;您将其作为clickedValue
传递到inFunction
。就用这个吧
var btnValue = document.querySelector('btn').value;