动态禁用区域地图请

时间:2012-11-09 09:26:03

标签: javascript jquery html map area

如何动态禁用某个区域?举个简单的例子,假设我单击一个特定的象限区域,并且该区域(不是整个地图)保持禁用状态,直到我单击一个单独的按钮输入。如果地图区域有“禁用”属性,本来不错......但我知道没有。任何人都可以帮我解决方法吗?

    <img id="square_img" src="images/square.png" usemap="#square" class="chart_class">
    <map id="square_map" name="square">
        <area id="quadrant1" shape="poly"  class="area_class" coords="206,10, 300,10, 388,10, 388,100, 388,196, 300,196, 206,196, 206,100" href="#" title="Quadrant1"></area>
        <area id="quadrant2" shape="poly"  class="area_class" coords="13,10, 100,10, 194,10, 194,100, 194,196, 100,196, 13,196, 13,100" href="#" title="Quadrant 2"></area>
        <area id="quadrant3" shape="poly"  class="area_class" coords="13,208, 100,208, 194,208, 194,300, 194,387, 100,387, 13,387, 13,200" href="#" title="Quadrant 3"></area>          
        <area id="quadrant4" shape="poly"  class="area_class" coords="206,208, 300,208, 388,208, 388,300, 388,387, 300,387, 206,387, 206,300" href="#" title="Quadrant 4"></area>   
    </map>
<input type="button" value="restore"/>

我尝试使用$(this).attr('onclick','return false;'); - 这不起作用。

我有一些想法:拥有coords_temp属性,其值与coords相同。使用$('area').click()我会将coords设置为0,0,0,0。如果我想再次启用它,我会使用coords_temp中的值并将coords设置为它。它有效,但如果让我说我有很多地图区域,它不会导致如此多的开销吗?并且0,0,0,0是否仍然可以点击?很难,但它仍然是可点击的,对吧?感谢。

1 个答案:

答案 0 :(得分:1)

我建议你点击它后添加它 首先删除你不想拥有的那个

function addCoord(){
    var elem = '<area id="quadrant1" shape="poly"  class="area_class" coords="206,10, 300,10, 388,10, 388,100, 388,196, 300,196, 206,196, 206,100" href="#" title="Quadrant1"></area>';
    var addElementTo = document.getElementById("square_map");
    addElementTo.innerHTML=elem;
}

只需将此功能添加到onlclick事件中即可。

请注意,我拿了第一个,因为我不知道你想在以后添加哪一个。