Проблема, продемонстрированная в вашем видео, заключается в том, что div stock1 крадет фокус, который затем запускает onmouseout, закрывая div stock, который затем запускает onmouseover тега A, показывает div stock1, который затем крадет фокус,запускает onmouseout тега A и т. д. *
Самое простое, что можно сделать, это применить тот же метод ShowStock onmouseout / onmouseover к элементу stock1, чтобы он "показывал" себя во время наложения, но скрывалсам по себе, когда не наведен, за исключением того, что при наведении указателя мыши на область внутри тега A, которая показывает его.
Например, это работает идеально (на jsfiddle.net , что также демонстрирует отдельныйверсия с ошибкой, продемонстрированной на видео):
a.hover {
background-color: #ccc;
width: 200px;
height: 200px;
position: absolute;
top: 15px;
left: 15px;
}
#show1 {
display: none;
width: 200px;
height: 200px;
position: absolute;
top: 75px;
left: 75px;
background-color: #daa;
}
function showTarget(target, state) {
switch (state) {
case 1:
state = 'block';
break;
default:
state = 'none';
}
target = 'show'+target;
document.getElementById(target).style.display = state;
}
<a class="hover" onmouseover="showTarget(1,1)" onmouseout="showTarget(1,0)">Test</a>
<div id="show1" onmouseover="showTarget(1,1)" onmouseout="showTarget(1,0)">Test Show</div>