当前位置: 首页 > 面试题库 >

将JQuery悬停与HTML图像映射一起使用

云韬
2023-03-14
问题内容

我有一个复杂的背景图片,其中有很多小区域,需要滚动插图高亮显示,以及每个地方的附加文本显示和关联链接。最终的插图使用z-
index堆叠了几张具有透明度的静态图像,并且高光翻转插图需要显示在中间的“三明治”层之一中,以实现所需的效果。

在对块进行一些不成功的摆弄之后,我决定可以使用老式的图像映射来完成。我制作了具有四个几何形状轮廓的示意图测试图,并使用png翻转“填充”了它们。这个想法是将图像地图与底部背景层相关联,使用css
{visibility:hidden}初始化所有翻转,并使用Jquery的悬停方法使其可见,并在单独的div中显示相关文本。单独的文本函数是为什么我不尝试使用:hover伪类而不是jQuery
hover来做到这一点的原因。因为我使用的是图像地图,所以我将所有翻转png(具有透明背景)调整为适合整个容器的大小,以进行精确放置,以便所有内容都能精确对齐。

我得到的作品…不是真的!正确映射了图像映射以仅激活几何区域。但是每个翻转区域中的href只能间歇性地工作,并且将jQuery悬停与CSS可见性结合使用很混乱。所需的行为是,滚动到该区域中只会使形状变实。实际发生的是,形状内部的任何运动都会在可见和隐藏之间快速切换。当光标停在形状内时,它可能是可见的,也可能不是。任何想法表示赞赏!

悬停设置示例(我最终将使用数组进行实际的悬停,关联的链接和文本):

$('#triangle').hover(
    function() {
        $('#ID_triangle').css({'visibility' : 'visible'});
    },
    function() {
        $('#ID_triangle').css({'visibility' : 'hidden'});
    }
)

图片图:

<div id="container">
    <img src="images/testMap_w.png" width="800" height="220" alt="TestMap W" usemap="#testMap">
    <map name="testMap">
        <area shape="polygon" coords="20,20,106,20,106,106,20,106" href="http://www.stackoverflow.com" id="box" />
        <area shape="polygon" coords="216,50,339,50,277,156" href="http://www.google.com" id="triangle" />
        <area shape="polygon" coords="460,0,574,0,460,220" href="http://www.cnn.com" id="bordertriangle" />
        <area shape="polygon" coords="704,65,769,115,744,196,665,196,640,115" href="http://slashdot.org" id="pentagon" />
    </map>
    <img src="images/testMap_box.png" width="800" height="220" alt="TestMap Box" id="ID_box">
    <img src="images/testMap_triangle.png" width="800" height="220" alt="TestMap Triangle" id="ID_triangle">
    <img src="images/testMap_border_triangle.png" width="800" height="220" alt="TestMap Border Triangle" id="ID_bordertriangle">
    <img src="images/testMap_pentagon.png" width="800" height="220" alt="TestMap Pentagon" id="ID_pentagon">
</div>

问题答案:

这个问题很旧,但是我想为当时尚不存在的答案添加一个替代方案。

Image Mapster是我编写的jQuery插件,用于解决Map Hilight的某些缺点(尽管它几乎已被完全重写,但它最初是该插件的扩展)。最初,这只是维护区域选择状态,修复浏览器兼容性问题的能力。但是,自几个月前首次发布以来,我添加了许多功能,包括使用备用图像作为亮点源的功能。

它还具有将区域标识为“蒙版”的功能,这意味着您可以创建带有“孔”的区域,还可以创建复杂的区域分组。例如,区域A可能导致另一个区域B突出显示,但是区域B本身不会响应鼠标事件。

网站上有一些显示大多数功能的示例。在GitHub的仓库也有更多的例子和完整的文档。



 类似资料:
  • 问题内容: 我有一个问题,我将一个图像设置为当鼠标悬停时显示另一个图像,但是第一个图像仍然出现,新的图像不会更改高度和宽度,而会与另一个图像重叠。我对HTML / CSS还是很陌生,所以我可能错过了一些简单的东西。这是代码: 问题答案: 一种解决方案是将第一个图像也用作背景图像,如下所示: 如果您的悬停图片大小不同,则必须将它们设置为:

  • 问题内容: 好的,所以我已经通过PHP动态生成了图像,因此不一定得到相同的图像。我花了最后四个小时扫描互联网,并尝试使用jQuery和/或CSS做无数次尝试,并且提出了以下可行的建议。 Market.png具有透明背景。 现在,以上工作。鼠标悬停时,它显示Market.png,透明背景部分为tile_4.jpg,鼠标移出时为tile_4.jpg。 我想知道的是:有什么方法可以使用jQuery或CS

  • 问题内容: 如何更改此确切代码以对鼠标悬停产生悬停效果? 我尝试遵循其他一些问题和答案,但我无法真正遵循它们。 因此,HTML是: 现在,我要做的是当鼠标悬停在小图像上时更改大尺寸图像。 问题答案: 请尝试以下代码。工作正常 我修改了代码,希望它能稍作延迟。.但是,它不是动画。

  • 问题内容: 我需要一个包含图像的菜单,当有人将鼠标悬停在菜单上时,图像应该会更改。 HTML CSS 我面临的问题是,当我将 鼠标悬停 在菜单项周围时,要显示在悬停上的图像显示 在 旧图像 的背面 。此外,显示的悬停背景图像的宽度和高度 很小 。请帮忙。谢谢![在此处输入图片描述] [1] 问题答案: 将此代码放在结束body标签之前, 将课程首页放置在标签中。做完了 完美运作。

  • 如何强制testcontainers使用本地映像?

  • 我们需要运行订单管理器应用程序的Active-Active实例以实现弹性。在我们的团队中,Hazelcast是跨弹性实例共享状态的首选分布式缓存。 在应用程序中,我使用单写入器模式以及LMAX中断器库。因此,基本上我有一个繁忙的主线程,它从中断器(环形缓冲区)读取传入的订单事件,并快速处理它,而不涉及任何阻塞操作。 现在唯一的问题是,只要我的主线程接收到一个事件,它就会首先在Hazelcast分布