代码之家  ›  专栏  ›  技术社区  ›  Riya

错误:单击按钮后更新电梯和用户的值

  •  1
  • Riya  · 技术社区  · 7 年前

    我正在创建电梯的一个程序,其中包括电梯内的上、下按钮(外部功能)和按钮(0到5::内部功能),我的外部功能正常工作,但当电梯内用户按下任何按钮时,电梯都应该去那个地方。更新用户和电梯的位置。但当我按下按钮(0,1,2,3,4,5)时,它不工作。有人能帮我解决这个问题吗?事先谢谢。

    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> 
    

    输出: https://i.stack.imgur.com/tKeeL.png

    1 回复  |  直到 7 年前
        1
  •  1
  •   AuxTaco    7 年前
    var btnValue = document.querySelector('btn').value;
    

    <btn> document.querySelector('btn') null "btn" document.getElementById('btn')

    inFunction clickedValue