2013-03-12 40 views
0

我有一个图像地图,我希望多边形将突出显示,直到下一个多边形被点击。图像地图访问ID(地区)

,如:单击plogone──作1突出

比:点击polygone 2个-becomes突出(多边形1是不突出)

<script type="text/javascript" src="jquery-1.9.1.min.js"></script> 
<script type="text/javascript" src="jquery.maphilight.js"></script> 
<script> 
$(function() { 
var nr = 0; 
$('.map').maphilight({ strokeColor: 'ff0000', strokeWidth: 5}); 
$(polymap).click(function(e) { 
      var data = $(high1).mouseout().data('maphilight') || {}; 
      data.alwaysOn = !data.alwaysOn; 
      $(high1).data('maphilight', data).trigger('alwaysOn.maphilight'); 
      }); 
    }); 

</head> 
    <body> 
    <br> 
    <img class="map" src="pb90%20%28150%29.html.png" ismap="ismap" usemap="#mapmap" alt="html imagemap created with QGIS" border="0"> 
    <map id="polymap" name="mapmap"> 
     <area id='high1' shape="poly" href="PDF1.pdf" target="cont" coords="834,366,837,363,840" alt=""> 
     <area id='high2' shape="poly" href="PDF2.pdf" target="cont" coords="940,236,941,236" alt=""> 
     <area id='high3' shape="poly" href="PDF3.pdf" target="cont" coords="831,345,828,348,824" alt=""> 
.... 

我的问题是我无法访问区域的ID。如果单击多边形,只有“high1”的区域将高亮。 所以不是说

$(high1). 

我需要一种事件处理程序。

这将是很酷如果有人知道:-)

欢呼的解决方案以马内利

回答

0

你的jQuery选择可以在area,然后将上单击事件运行功能将取决于您点击的区域。在您的功能中,您可以使用this关键字来引用调用对象。

$('area').click(function (e) { 
     var data = $(this).mouseout().data('maphilight') || {}; 
     data.alwaysOn = !data.alwaysOn; 
     $(this).data('maphilight', data).trigger('alwaysOn.maphilight'); 
    }); 
+0

很酷谢谢:-) – user2159063 2013-03-12 16:04:01