У меня есть 3 изображения (машина, поезд, самолет).Когда я нажимаю на каждую из них, div info получает информацию о путешествии.Я хотел бы изменить состояние изображения, как при наведении курсора, каждый раз, когда я нажимаю на изображение.Он делает это, но проблема в том, что когда я нажимаю на новое изображение, старое не возвращается в исходное состояние.Пожалуйста помоги.
<div class="car tab"></div>
<div class="train tab"></div>
<div class="plane tab"></div>
<div class="info" id="info">
</div>
.car {
background: url(../images/car_state.png) no-repeat;
display: block;
background-size: 88px 38px;
height: 38px;
width: 44px;
}
.car:hover {
background-position: -44px 0;
}
.train {
background: url(../images/train_state.png) no-repeat;
display: block;
background-size: 70px 53px;
height: 53px;
width: 35px;
}
.train:hover {
background-position: -35px 0;
}
.plane {
background: url(../images/plane_state.png) no-repeat;
display: block;
background-size: 95px 48px;
height: 48px;
width: 48px;
}
.plane:hover {
background-position: -48px 0;
}
.states {
width: 100%;
text-align: center;
}
.car, .train, .plain {
display: inline-block;
}
.train {
margin: 0 30px;
}
.info {
}
const info = document.getElementById("info");
const tab = document.getElementsByClassName("tab");
let el;
let arr = Array.prototype.slice.call(tab);
const getThere = [
{
line1: "By train....",
x:"-44px"
},
{
line1: "By car....",
x:"-35px"
},
{
line1: "By plane....",
x:"-48px"
}
];
for(let i = 0; i < arr.length; i++) {
arr[i].addEventListener("click", function() {
if (arr.indexOf(this) == getThere.indexOf(getThere[i])) {
info.innerHTML = "<p>" + getThere[i].line1 + "</p>";
this.style.backgroundPositionX = getThere[i].x;
} else {
this.style.backgroundPositionX = "";
}
});
}