JavaScript 图像映射

时间:2019-08-20 13:50:45  来源:igfitidea点击:

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

将形成映射的图像像往常一样使用<img />元素插入到页面中,只是它带有一个名为usemap的额外属性。
usemap属性的值是<map>元素上的name属性的值,该元素前面有一个磅号或散列符号。

<map>元素实际上创建了图像的映射,通常直接跟随在<img />元素之后。
它充当了<area />元素的容器,这些元素实际上定义了可点击的热点。
<map>元素只携带一个属性,即name属性,该属性是标识映射的名称。
这就是<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>