ES6 - 图像映射


ES6 图像映射

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

正常情况下,将使用<img/>元素将要构成地图的图像插入到页面中,只不过它带有一个名为usemap的额外属性。usemap属性的值是<map>元素上名称属性的值,您将在这个元素之前遇到一个磅或一个散列符号。

<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>

在成功执行上述代码时,会显示以下输出。您可以通过将鼠标光标放置在图像对象上来感受地图概念。