如何将值从区域转移到另一个区域

How do I transfer a value from area to another

本文关键字:区域 转移 另一个      更新时间:2023-09-26

如何将i的值转移到函数dispCar()我正在尝试使用 i 的值表示的索引值从数组中挑选对象。

var cars = document.getElementById("carList");
var car = cars.querySelectorAll("li");
for (var i = 0; i < car.length; i++) {
    car[i].addEventListener("mouseover", dispCar); 
}

function dispCar() {
    var carStats = [ 
    {Mfg: "Cadillac", Model: "CTS", Year: "2016", Horsepower: "600+hp", color: "White"}, 
    {Mfg: "Buick", Model: "LaCrosse", Year: "2016", Horsepower: "310hp", color: "Champagn Silver Metalic"},
    {Mfg: "Chevrolet", Model: "Camaro", Year: "2016", Horsepower: "475hp", color: "White"}
]

    document.getElementById("display").className = "display";
    document.getElementById("display").innerHTML = carStats[0].Mfg;
}

addEventListener将函数作为其第二个参数。你可以只传递一个调用dispCar的函数,如下所示:

for (var i = 0; i < car.length; i++) {
    car[i].addEventListener("mouseover", function() {
        dispCar(i);
    });
}

由于关闭,您仍然可以从addEventListener访问i

请参阅 MDN 上的EventTarget.addEventListener文档。

尝试像这样设置 for 循环:

for (var i = 0; i < car.length; i++) {
  car[i].addEventListener("mouseover", function dispCar() {
    var carStats = [ 
      {Mfg: "Cadillac", Model: "CTS", Year: "2016", Horsepower: "600+hp", color: "White"}, 
      {Mfg: "Buick", Model: "LaCrosse", Year: "2016", Horsepower: "310hp", color: "Champagn Silver Metalic"},
      {Mfg: "Chevrolet", Model: "Camaro", Year: "2016", Horsepower: "475hp", color: "White"}
    ]
    document.getElementById("display").className = "display";
    document.getElementById("display").innerHTML = carStats[0].Mfg;
  }
}