Здесь team_hover() - это событие onmouseover, а team_hover_bbye() - событие onmouseout. team_hover() работает отлично, но когда я убираю мышь с элемента, team_hover_bbye() запускается, но свойство display gl2 не меняется на none ....
Я хочу изменить свойство display gl2 обратно на none при удалении мыши.
P.S это мой первый пост ..
function team_hover() {
var a = document.getElementById("gl1");
var b = document.getElementById("gl2");
var myVar = setInterval(opac, 20);
var i = 0;
function opac() {
i = i + 0.1;
a.style.opacity = 1 - i;
if (i >= 1) {
a.style.display = "none";
b.style.display = "block";
} else {}
}
}
function team_hover_bbye() {
var i = document.getElementById("gl1");
var j = document.getElementById("gl2");
i.style.opacity = 1;
i.style.display = "block";
j.style.display = "none";
}
team_hover_bbye();#gl1, #gl2 { display: inline-block; width: 2em; height: 2em; margin: 0.5em; }
#gl1 { background: #F00; }
#gl2 { background: #0F0; }<div id = "gl1" onmouseover = "team_hover()"></div>
<div id = "gl2" onmouseover = "team_hover()"></div>Можете ли вы добавить рабочий образец в скрипт / плункер?
Вам следует отредактировать свой вопрос и создать Минимальный, полный, проверяемый пример.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Ваша проблема в том, что интервал продолжается бесконечно, и вы используете неправильные события.
Попробуй это:
var myVar;
function team_hover() {
var a = document.getElementById("gl1");
var b = document.getElementById("gl2");
clearInterval(myVar); // Needed here
myVar = setInterval(opac, 20);
var i = 0;
function opac() {
i = i + 0.1;
a.style.opacity = 1 - i;
if (i >= 1) {
a.style.display = "none";
b.style.display = "block";
clearInterval(myVar); // Performance gain
} else {}
}
}
function team_hover_bbye() {
clearInterval(myVar); // Real fix
var i = document.getElementById("gl1");
var j = document.getElementById("gl2");
i.style.opacity = 1;
i.style.display = "block";
j.style.display = "none";
}
team_hover_bbye();#gl1, #gl2 { display: inline-block; width: 2em; height: 2em; margin: 0.5em; }
#gl1 { background: #F00; }
#gl2 { background: #0F0; }<div id = "gl1" onmouseenter = "team_hover()"></div>
<div id = "gl2" onmouseout = "team_hover_bbye()"></div>Также стоит отметить, что то, что вы пытаетесь заархивировать, можно сделать с помощью CSS.
Большое спасибо ! Был отличный привет
Все остальное работает нормально?