现在已经为此苦苦挣扎了几个小时。我有一个图像地图,我正在使用 jQuery Maphilight 插件来突出显示图像地图的不同区域。
该插件工作正常,但我找不到取消突出显示活动区域的方法。我试着清理画布。
标记:
<img src="someImage" usemap="#levelMap" id="floorplan" />
<map name="levelMap">
<area id="area1" shape="poly" coords="316,56,334,56">
<area id="area2" shape="poly" coords="460,84,537,85">
</map>
代码:
$('area').eq(0).attr('data-maphilight','{"fillColor":"000000","alwaysOn":true}'
$('#floorplate').maphilight();
正如预期的那样,这突出了第一个区域。现在,我正在监听一个自定义事件,该事件告诉第二个区域是活动区域而不是第一个区域。在此刻,
$('area').removeAttr('data-maphilight'); // Remove the attribute from all area elements.
$('area').eq(1).attr('data-maphilight','{"fillColor":"000000","alwaysOn":true}' // Add attribute for the next area.
$('#floorplate').maphilight(); // Call the plugin again to execute on the latest active area.
执行上述操作会突出显示新区域,但不会删除旧区域,即使它没有 maphilight 属性。我什至尝试删除整个“地图”元素并再次添加它,但插件似乎保存了状态。
所以,我需要的最终输出是一个类似于幻灯片的图像映射。一个区域突出显示,然后移动到下一个区域。
有任何想法吗?