JavaScript - 图像地图



您可以使用 JavaScript 创建客户端图像地图。客户端图像地图由 <img /> 标记的 usemap 属性启用,并由特殊的 <map> 和 <area> 扩展标记定义。

将要形成地图的图像像往常一样使用 <img /> 元素插入页面,除了它带有一个名为 usemap 的额外属性。usemap 属性的值是您即将遇到的 <map> 元素的 name 属性的值,前面带有井号或哈希符号。

<map> 元素实际上为图像创建了地图,并且通常紧跟在 <img /> 元素之后。它充当 <area /> 元素的容器,这些元素实际上定义了可点击的热点。<map> 元素只有一个属性,即 name 属性,它是标识地图的名称。这就是 <img /> 元素如何知道要使用哪个 <map> 元素。

<area> 元素指定定义每个可点击热点边界的形状和坐标。

示例

以下代码将图像地图和 JavaScript 结合起来,在鼠标移动到图像的不同部分时在文本框中生成一条消息。

<html>   
   <head>
      <title>Using JavaScript Image Map</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>
      
      <!-- Create  Mappings -->
      <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>

输出

您可以通过将鼠标光标放置在图像对象上来感受地图的概念。

广告