x
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Car Constructor Example</title>
<script>
// Constructor function for Car
function Car(make, model, year) {
this.make = make;
this.model = model;
this.year = year;
this.start = function() {
document.getElementById("status").innerText = this.make + " started";
};
this.drive = function() {
document.getElementById("status").innerText = this.make + " is driving";
};
this.stop = function() {
document.getElementById("status").innerText = this.make + " stopped";
};
}
// Array to hold car objects
var cars = [];
// Function to create a new car
function createCar() {
var make = document.getElementById("make").value;
var model = document.getElementById("model").value;
var year = document.getElementById("year").value;
var car = new Car(make, model, year);
cars.push(car);
displayCarList();
}
// Function to display the list of cars
function displayCarList() {
var carList = document.getElementById("car-list");
carList.innerHTML = "";
cars.forEach(function(car, index) {
var listItem = document.createElement("li");
listItem.innerText = car.make + " " + car.model + " (" + car.year + ")";
listItem.setAttribute("data-index", index);
listItem.onclick = function() {
var selectedIndex = this.getAttribute("data-index");
var selectedCar = cars[selectedIndex];
selectedCar.start();
};
carList.appendChild(listItem);
});
}
</script>
</head>
<body>
<h1>Car Constructor Example</h1>
<input type="text" id="make" placeholder="Make">
<input type="text" id="model" placeholder="Model">
<input type="number" id="year" placeholder="Year">
<button onclick="createCar()">Create Car</button>
<ul id="car-list"></ul>
<p id="status"></p>
</body>
</html>