亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何讓按鈕進行數學運算,然后使用 JS 顯示它?

如何讓按鈕進行數學運算,然后使用 JS 顯示它?

嚕嚕噠 2022-05-14 14:38:25
基本上,我試圖讓“左轉”按鈕顯示“左轉”,每次用戶單擊按鈕時方向將減少 10(例如:第一次單擊 = 170,第二次單擊 = 160,第三次click = 150 等),它將顯示在瀏覽器中。我還想制作一個“右轉”按鈕來做同樣的事情,除了它將 10 添加到顯示的最后一個方向。此外,這最初并沒有發生,但是當我檢查瀏覽器中顯示 HTML 中的“車輛”未定義的元素時,我現在看到一個錯誤。知道那里發生了什么嗎?這是HTML:<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head>    <meta charset="utf-8" />    <title>My Vehicles</title></head><body><div id="input"><br/><br/><br/>    <input type="text" id="engstart"> Pick Your Starting Speed</input>    <br/>    <button onclick="startEngine()"> Start the Car </button><br/><br/>    <button onclick="accel()"> Accelerate </button><br><br/>    <button onclick="carInBrake()"> Put Car In Brake </button><br/><br/>    <button onclick="left()"> Turn Left </button></div><div id="displays">    <script src="vehicle.js">    </script>    <script>        let pickColor = prompt("Pick a color");        //let num = prompt("Pick your starting speed in mph");        let num = document.getElementById('engstart').value;        let speed = parseInt(num);        let car = new Vehicle(pickColor, 0 , speed);        function startEngine()        {            alert(car.engineOn());            document.getElementById('displays').innerHTML += car.show() + "<br>";        }        function accel()        {            alert(car.accelerate());            document.getElementById('displays').innerHTML += car.accelerate();        }        function carInBrake()        {            alert(car.brake());        }    </script></div></body></html>
查看完整描述

2 回答

?
ibeautiful

TA貢獻1993條經驗 獲得超6個贊

為了訪問Vehicle另一個js文件中的類,您首先需要導出該類,然后在您的js文件中導入。


script.js


import { Vehicle } from './vehicle.js';


let pickColor = prompt("Pick a color");

//let num = prompt("Pick your starting speed in mph");

let num = document.getElementById('engstart').value;

let speed = parseInt(num);


let car = new Vehicle(pickColor, 0, speed);


window.startEngine =function() {

  alert(car.engineOn());

  document.getElementById('displays').innerHTML += car.show() + "<br>";

}


window.accel = function() {

  alert(car.accelerate());

  document.getElementById('displays').innerHTML += car.accelerate();

}


window.carInBrake = function () {

  alert(car.brake());

}

vehicle.js


export class Vehicle {

  constructor(color, direction, currentSpeed, topSpeed, engineStarted) {

    this._color = color;

    this._direction = direction;

    this._currentSpeed = currentSpeed;

    this._topSpeed = 300;

    this._engineStarted = true;

  }


  engineOn() {

    this._engineStarted = true;

    const started = `${this._color} car engine has started (VROOM VROOM!!!)`;

    return started;

  }


  show() {

    if (this._engineStarted) {

      const start = `Starting Speed: ${this._currentSpeed} mph<br/>

                                Direction: ${this._direction}o `;

      return start;

    }

  }


  brake() {

    this._engineStarted = false;

    const message = "Car In Brake";

    return message;

  }


  accelerate() {

    if (this._engineStarted) {

      this._currentSpeed + 10;

      const current = `Accelerating. Current speed is now ${this._currentSpeed} mph.`;

      return current;

    }

  }


  left() {

    let dir = this._direction;

    let turn = dir - 10;

    return `Turning left. direction is now ${turn} degrees`;

  }

}

index.html


<div id="input">

    <br />

    <br />

    <br />

    <input type="text" id="engstart"> Pick Your Starting Speed</input>

    <br />

    <button onclick="startEngine()"> Start the Car </button>

    <br />

    <br />

    <button onclick="accel()"> Accelerate </button>

    <br>

    <br />

    <button onclick="carInBrake()"> Put Car In Brake </button>

    <br />

    <br />

    <button onclick="left()"> Turn Left </button>

  </div>

  <div id="displays"></div>


  <script type="module" src="./script.js"></script>


查看完整回答
反對 回復 2022-05-14
?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

問題是left()方法中的最后一條語句。因為this._direction是類變量并且已經定義,所以你不應該在let那里使用關鍵字。只是改變-

let this._direction = newTurn;

this._direction = newTurn;

正如 Patrick 所指出的,return 語句也應該寫在函數的末尾。


查看完整回答
反對 回復 2022-05-14
  • 2 回答
  • 0 關注
  • 121 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號