JavaScript – 图像映射
您可以使用JavaScript创建客户端图像映射。 客户端图像映射通过<img />
标记的 usemap 属性启用,并由特殊的<map>
和<area>
扩展标记定义。
将形成地图的图像插入页面时,使用<img />
元素正常插入,只不过它带有一个名为 usemap 的额外属性。 usemap属性的值是要使用的<map>
元素上的name属性的值,在其前面加上井号或哈希标记。
<map>
元素实际上为图像创建地图,通常直接跟在<img />
元素后面。 它充当<area />
元素的容器,这些元素实际上定义了可单击的热点区域。 <map>
元素只带一个属性,即 名称 属性,该属性是标识地图的名称。 这就是<img />
元素如何知道要使用哪个<map>
元素的方式。
<area>
元素指定形状和坐标,定义每个可单击的热点区域的边界。
以下代码将imagemaps和JavaScript结合起来,在鼠标移动到图像不同部分时,在文本框中产生一条消息。
<html>
<head>
<title>使用JavaScript图像映射</title>
<script type = "text/javascript">
<!--
function showTutorial(name) {
document.myform.stage.value = name
}
//-->
</script>
</head>
<body>
<form name = "myform">
<input type = "text" name = "stage" size = "20" />
</form>
<!-- 创建映射 -->
<img src = "/images/usemap.gif" alt = "HTML Map" border = "0" usemap = "#tutorials"/>
<map name = "tutorials">
<area shape="poly"
coords = "74,0,113,29,98,72,52,72,38,27"
href = "/perl/index.htm" alt = "Perl Tutorial"
target = "_self"
onMouseOver = "showTutorial('perl')"
onMouseOut = "showTutorial('')"/>
<area shape = "rect"
coords = "22,83,126,125"
href = "/html/index.htm" alt = "HTML Tutorial"
target = "_self"
onMouseOver = "showTutorial('html')"
onMouseOut = "showTutorial('')"/>
<area shape = "circle"
coords = "73,168,32"
href = "/php/index.htm" alt = "PHP Tutorial"
target = "_self"
onMouseOver = "showTutorial('php')"
onMouseOut = "showTutorial('')"/>
</map>
</body>
</html>
输出结果
您可以通过将鼠标光标放在图像对象上来感受地图概念。