我正在使用包含许多小图片的IMG地图。当我将鼠标悬停在每个图像上时,它将显示更大的图像。我该怎么做呢?我不介意使用javascript,css等,只要它有效。请举个例子。
HTML OF IMG MAP
<img src="img.jpg" alt="Main Photo - Please View With Images On"
usemap="#Map" class="center" style="width:900px;" border="0" />
<map name="Map" id="Map">
<area class="1" shape="rect" coords="4,3,225,150" />
<area class="2" shape="rect" coords="2,152,221,303" />
<area class="3" shape="rect" coords="3,303,221,452" />
</map>
每个类都有不同的图像来显示更大的图像。
答案 0 :(得分:2)
以下是使用ImageMapster:
的方法要使用内置的工具提示API来完成这项工作,您需要做一些事情。首先为每个区域添加一个属性,如下所示:
<area data-key="2,all" shape="rect" coords="0,90,82,170"
href="http://www.shelterness.com/pictures/amazing-diy-photo-tiles-1-500x373.jpg" />
注意data-key
。这是ImageMapster的“mapKey”。我们需要它的唯一原因是创建一个名为“all”的区域组,可用于为每个区域显示相同的工具提示。每个区域都有这样的属性但具有不同的数字,例如data-key="3,all"
,data-key="4,all"
等等。
然后是绑定imagemapster的代码:
$('img').mapster({
toolTipContainer: $('#tooltip-container'),
mapKey: 'data-key',
areas: [ {
key: 'all',
toolTip: true
}],
showToolTip: true,
onShowToolTip: function(data) {
if (this.href && this.href!='#') {
data.toolTip.html('<img src="'+this.href+'">');
}
}});
以下是每个选项的含义:
1)toolTipContainer
应包含用于显示工具提示的模板的HTML。在小提琴中,你会看到我添加了一个ID为“tooltip-container”的隐藏div
2)mapKey
是您添加到每个区域的属性的名称。此属性可以包含一个或多个逗号分隔值。 Imagemapster将用于突出显示的区域组合在一起,共享第一个值,因此如果您不需要对任何区域进行分组,请使用不同的区域。每个区域的第二个值应该相同,我用它来激活所有区域的工具提示。
3)areas
是区域特定格式信息的数组。通常,您可以使用它来控制如何显示每个区域的突出显示效果。在你的情况下,我只是用它来激活所有区域的工具提示。密钥all
匹配每个区域,因为它们都具有第二个密钥,toolTip: true
启用工具提示。通常您会说toolTip: "some text specific to this area:"
,该文本只会显示在您的默认工具提示容器中。在你的情况下,我们想要显示一个图像,我想从区域本身获取图像URL,所以我需要在显示工具提示时在函数中处理它。
4)showToolTip
表示为整个地图启用工具提示。
5)onShowToolTip
定义了一个在显示工具提示时被调用的函数。从这里你可以截取它并更改内容以显示该区域的图像。
这应该更简单 - 但是imagemapster中的工具提示API实际上是围绕一个非常简单的模型设计的,其中每个区域只有一些硬编码文本。这是从每个区域的href中获取URL的解决方法。
答案 1 :(得分:0)
我认为你想要的东西就像下面给出的小提琴。编写的代码非常粗糙&amp;可以优化。只要检查一下你想要这个或其他东西。