Цель кода состоит в том, чтобы каждый блок отображал свой текст при наведении на него указателя мыши. Я хочу добавить к этому еще 30 блоков, но, похоже, я не могу найти способ сделать это без создания отдельного прослушивателя событий для каждого блока. Можно ли сделать это с помощью одного прослушивателя событий для наведения указателя мыши и наведения указателя мыши с использованием массивов и циклов?
Вот так выглядит код Javascript и HTML V
var org = ["Anna", "Bob", "Caroline"]
var change = ["One", "Two", "Three"]
var headone = document.querySelector("#a");
headone.addEventListener('mouseover', function() {
headone.textContent = change[0];
})
headone.addEventListener("mouseout", function() {
headone.textContent = org[0];
})
var headtwo = document.querySelector("#b");
headtwo.addEventListener('mouseover', function() {
headtwo.textContent = change[1];
})
headtwo.addEventListener("mouseout", function() {
headtwo.textContent = org[1];
})
var headthree = document.querySelector("#c");
headthree.addEventListener('mouseover', function() {
headthree.textContent = change[2];
})
headthree.addEventListener("mouseout", function() {
headthree.textContent = org[2];
})
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>repl.it</title>
<style>
table {
width: 80%;
}
td {
width: 20%;
position: relative;
box-shadow: 0 4px 8px 2px rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
background-color: white;
}
td:after {
content: '';
display: block;
margin-top: 100%;
}
td:hover {
background-color: pink;
box-shadow: 0px 4px 24px 5px rgba(129, 120, 255, 1);
}
body {
background-color: lightblue;
}
</style>
</head>
<body>
<table>
<tr>
<td id="a">Anna</td>
<td id="b">Bob</td>
<td id="c">Caroline</td>
</tr>
</table>
</body>
<script src="test.js"></script>
</html>
Можно ли каким-либо образом закодировать раздел Javascript, чтобы повысить эффективность использования массивов? Вместо того, чтобы создавать новый EventListener для каждого нового блока, который я добавляю в таблицу.