Хотя я полагаю, что для этой цели вы можете использовать просто CSS
, гораздо проще применить JS
на практике для достижения желаемого результата.
В приведенном ниже фрагменте показано использование JavaScript решение, использующее onmouseover и onmouseout .
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link href="https://fonts.googleapis.com/css?family=Montserrat">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<style>
.PinDiv{
display: none;
}
</style>
</head>
<body>
<div>
<div>
<section>
<figure>
<i class="HoverPin" onmouseover="document.getElementById('PinDiv1').style.display='block';" onmouseout="document.getElementById('PinDiv1').style.display='none';">1</i>
<i class="HoverPin" onmouseover="document.getElementById('PinDiv2').style.display='block';" onmouseout="document.getElementById('PinDiv2').style.display='none';">2</i>
<i class="HoverPin" onmouseover="document.getElementById('PinDiv3').style.display='block';" onmouseout="document.getElementById('PinDiv3').style.display='none';">3</i>
<i class="HoverPin" onmouseover="document.getElementById('PinDiv4').style.display='block';" onmouseout="document.getElementById('PinDiv4').style.display='none';">4</i>
</figure>
</section>
</div>
<div id="PinDiv1" class="PinDiv">
<h3>Text item 1</h3>
</div>
<div id="PinDiv2" class="PinDiv">
<h3>Text item 2</h3>
</div>
<div id="PinDiv3" class="PinDiv">
<h3>Text item 3</h3>
</div>
<div id="PinDiv4" class="PinDiv">
<h3>Text item 4</h3>
</div>
</div>
</body>
</html>
Используя JQuery
, мы можем немного это исправить:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link href="https://fonts.googleapis.com/css?family=Montserrat">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<style>
.PinDiv{
display: none;
}
</style>
</head>
<body>
<div>
<div>
<section>
<figure>
<i class="HoverPin" onmouseover="$('#PinDiv1').css('display','block');" onmouseout="$('#PinDiv1').css('display','none');">1</i>
<i class="HoverPin" onmouseover="$('#PinDiv2').css('display','block');" onmouseout="$('#PinDiv2').css('display','none');">2</i>
<i class="HoverPin" onmouseover="$('#PinDiv3').css('display','block');" onmouseout="$('#PinDiv3').css('display','none');">3</i>
<i class="HoverPin" onmouseover="$('#PinDiv4').css('display','block');" onmouseout="$('#PinDiv4').css('display','none');">4</i>
</figure>
</section>
</div>
<div id="PinDiv1" class="PinDiv">
<h3>Text item 1</h3>
</div>
<div id="PinDiv2" class="PinDiv">
<h3>Text item 2</h3>
</div>
<div id="PinDiv3" class="PinDiv">
<h3>Text item 3</h3>
</div>
<div id="PinDiv4" class="PinDiv">
<h3>Text item 4</h3>
</div>
</div>
</body>
</html>
Если вы хотите, чтобы они оставались открытыми, вы могли бы сделать что-то вроде этого:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link href="https://fonts.googleapis.com/css?family=Montserrat">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<style>
.PinDiv{
display: none;
}
</style>
</head>
<body>
<div>
<div>
<section>
<figure>
<i class="HoverPin" onmouseover="$('#PinDiv1').css('display','block');" onmouseout="$('.PinDiv:not(#PinDiv1)').css('display','none');">1</i>
<i class="HoverPin" onmouseover="$('#PinDiv2').css('display','block');" onmouseout="$('.PinDiv:not(#PinDiv2)').css('display','none');">2</i>
<i class="HoverPin" onmouseover="$('#PinDiv3').css('display','block');" onmouseout="$('.PinDiv:not(#PinDiv3)').css('display','none');">3</i>
<i class="HoverPin" onmouseover="$('#PinDiv4').css('display','block');" onmouseout="$('.PinDiv:not(#PinDiv4)').css('display','none');">4</i>
</figure>
</section>
</div>
<div id="PinDiv1" class="PinDiv">
<h3>Text item 1</h3>
</div>
<div id="PinDiv2" class="PinDiv">
<h3>Text item 2</h3>
</div>
<div id="PinDiv3" class="PinDiv">
<h3>Text item 3</h3>
</div>
<div id="PinDiv4" class="PinDiv">
<h3>Text item 4</h3>
</div>
</div>
</body>
</html>