gpt4 book ai didi

javascript - 如何让按钮进行数学运算,然后使用 JS 显示它?

转载 作者:行者123 更新时间:2023-12-02 21:30:50 24 4
gpt4 key购买 nike

基本上,我试图让“左转”按钮显示“左转”,每次用户单击该按钮时,方向都会减少 10(例如:第一次单击 = 170,第二次单击 = 160,第三次点击 = 150 等),它将显示在浏览器中。我还想制作一个“右转”按钮来执行相同的操作,只不过它将 10 添加到显示的最后一个方向。另外,一开始并没有发生这种情况,但现在当我检查浏览器中的元素时,我看到一个错误,提示 HTML 中的“车辆”未定义。知道那里发生了什么吗?

这是 HTML:

<!DOCTYPE html>

<html lang="en" 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>

这是外部 JS 文件:

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}º `;
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`;

let newTurn = turn - 10;

let this._direction = newTurn;

}

}

}

最佳答案

为了访问另一个 js 文件中的 Vehicle 类,您首先需要导出该类,然后导入到您的 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}º `;
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>

关于javascript - 如何让按钮进行数学运算,然后使用 JS 显示它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60628806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com