Как я могу обнаружить наведение мыши через другой элемент?

Как я могу обнаружить наведение мыши на другой элемент?

Предполагая, что вам не нужно нажимать на что-либо внутри стрелок:

Вы используете правило pointer-events: none; CSS pointer-events: none; на стрелках это не даст стрелкам перехватить событие и позволит ему пройти к карте внизу (и активировать слушателя событий при mouseover )

Единственное, что я изменил из вашего фрагмента, это CSS для #mapMainArrows

 const mapMainArrows = document.getElementById('mapMainArrows'); const mapMainArrow = document.getElementsByClassName('mapMainArrow'); var imapMainArrow; function hideMapMainArrow() { for (imapMainArrow = 0; imapMainArrow {amp}lt; mapMainArrow.length; imapMainArrow  ) { mapMainArrow[imapMainArrow].classList.add("none"); } } // Area 1 const mapMainArea1 = document.getElementById('mapMainArea1'); const mapMainArea1Arrow = document.getElementById('mapMainArea1Arrow'); mapMainArea1.addEventListener('mouseover', function() { hideMapMainArrow(); mapMainArrows.className = ""; mapMainArrows.classList.add("mapMainArea1Arrow"); mapMainArea1Arrow.classList.remove("none"); }, false); // Area 2 const mapMainArea2 = document.getElementById('mapMainArea2'); const mapMainArea2Arrow = document.getElementById('mapMainArea2Arrow'); mapMainArea2.addEventListener('mouseover', function() { hideMapMainArrow(); mapMainArrows.className = ""; mapMainArrows.classList.add("mapMainArea2Arrow"); mapMainArea2Arrow.classList.remove("none"); }, false); 
 .none { display: none; } #mapMainWrap { width: 360px; height: 150px; background-image: url(https://i.postimg.cc/rpskZ4GZ/map.png); } .map { z-index: 50; } .maptrans { z-index: 30; } .mapMainArrow { z-index: 10; } #mapMainArrows { width: 201px; height: 22px; position: absolute; top: 0; left: 0; pointer-events: none; } #mapMainArrows.mapMainArea1Arrow { top: 70px; left: 60px; } #mapMainArrows.mapMainArea2Arrow { top: 70px; left: 190px; } 
 {amp}lt;div id="mapMainWrap"{amp}gt; {amp}lt;div id="mapMainArrows"{amp}gt; {amp}lt;img id="mapMainArea1Arrow" class="none mapMainArrow" src="https://i.postimg.cc/wMyQj9KQ/area1-ar.png" width="201" height="22" alt="Area 1"{amp}gt; {amp}lt;img id="mapMainArea2Arrow" class="none mapMainArrow" src="https://i.postimg.cc/Qdb4PxjF/area2-ar.png" width="201" height="22" alt="Area 2"{amp}gt; {amp}lt;/div{amp}gt; {amp}lt;img src="https://i.postimg.cc/ZqNmpdrG/maptrans.png" class="maptrans" width="360" height="150" alt="Map" usemap="#mapmain"{amp}gt; {amp}lt;map name="mapmain" class="map"{amp}gt; {amp}lt;area id="mapMainArea1" alt="Area 1" href="javascript:void(0)" coords="60,3,8,46,3,135,23,146,86,148,91,105,133,94,137,7" shape="poly"{amp}gt; {amp}lt;area id="mapMainArea2" alt="Area 2" href="javascript:void(0)" coords="167,26,163,30,170,37,169,68,151,107,185,123,219,51,196,37" shape="poly"{amp}gt; {amp}lt;/map{amp}gt; {amp}lt;/div{amp}gt; 
Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector