gpt4 book ai didi

javascript - 在 HTML map 的特定位置添加叠加层

转载 作者:行者123 更新时间:2023-12-01 15:33:44 25 4
gpt4 key购买 nike

我有一个使用 HTML map 的概念进行交互的静态图像。
enter image description here
上传到 https://imagemap.org/ 设置的图片坐标
预期行为:
悬停时应在其各自的框中显示叠加层。例如,当鼠标悬停在红色框上时,覆盖文本应该出现在红色框本身中,如果它悬停在绿色上则为绿色,依此类推。
当前行为:
覆盖文本位置不在其各自的框中。它显示在底部。为了实现这一点,我正在考虑在单击相应区域标记后附加包含文本的 div。
我的代码:

<body>
<div class="interactive-map" >
<img src="https://www.politicalmetaphors.com/wp-content/uploads/2015/04/blog-shapes-square-windows.jpg">
<div class="card" style="width:40%; height: 10%;">
<div class="card-body">
This is some text within a card body.
</div>
</div>
<map name="image_map">
<area id="one" title="Red" coords="25,33,68,65" shape="rect" data-placement="25,33,68,65">
<area title="Green" coords="132,30,194,67" shape="rect">
<area title="Blue" coords="22,147,74,192" shape="rect">
<area title="Yellow" coords="131,144,197,188" shape="rect">
</map>

</div>

</body>
area{
cursor: pointer;

}

$('area').hover(function(){
????
})
fiddle - https://jsfiddle.net/woke_mushroom/2u3kbnv9/14/

最佳答案

我认为在某个“区域”内显示内容的最简单方法是使其成为该区域的子元素。您可以使用任何 block 元素(例如 <div></div> )作为区域。与使用图像映射一样,您将更加灵活。
悬停时也可以显示内容,而无需使用 :hover 的任何 javascript css 伪类。
下面我用 css flex 定位了一些框,并用 css 隐藏/显示内容。您可能希望将它们放置在 css 网格或其他方式中(例如绝对定位在图像前面)。

.container {
display: flex;
flex-wrap: wrap;
width: 30em;
}

.area {
cursor: pointer;
width: 15em;
height: 15em;
border: 2px solid black;
box-sizing: border-box;
}

.area > span {
opacity: 0;
}

.area:hover > span {
opacity: 1;
}

#area-red {
background-color: red;
}
#area-green {
background-color: green;
}
#area-blue {
background-color: blue;
}
#area-yellow {
background-color: yellow;
}
<div class="container">
<div id="area-red" class="area">
<span>Red contents</span>
</div>
<div id="area-green" class="area">
<span>Green contents</span>
</div>
<div id="area-blue" class="area">
<span>Blue contents</span>
</div>
<div id="area-yellow" class="area">
<span>Yellow contents</span>
</div>
</div>

关于javascript - 在 HTML map 的特定位置添加叠加层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63617111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com