2014-09-12 40 views
1

我正在嘗試使用JavaScript更改區域標記的座標。這裏是我的HTML代碼:使用javascript更改區域標記的座標

<a onclick="changeCoords('area-1', '50,825,220,1225');">Button</a>      
<img id="page-1" class="shadow margin-20 width-900" src="pics/pages/razei-harefua-1.jpg"  usemap="#research-map"> 
<map name="research-map"> 
    <area id="area-1" shape="rect" coords="110,980,390,1150" href="some URL"> 
</map> 

這裏是JavaScript:

function changeCoords(areaID, newCoords) { 
    var x = document.getElementById(areaID).coords; 
    x = newCoords; 
} 
+2

一個很好的問題一般應提供關於你想達到什麼樣的更多信息。還有一些情況,因爲它可能會影響完整答案必須包含的內容... – Kris 2014-09-12 12:03:07

回答

1

如果你想只改變與newCoords的COORDS屬性,然後簡單地寫:

document.getElementById(areaID).coords = newCoords 

您的示例不起作用,因爲您將coords的值分配給x變量,然後您只需將x的值更改爲newCoords值。 x變量不是對coords屬性的引用,只是在您的情況下存儲coords值的已分配內存空間,然後該值將被newCoords的值覆蓋。

+0

不,但是這個(http://jsfiddle.net/6348jamj/8/)起作用。 DIV元素沒有coords屬性,這就是爲什麼你的例子不起作用。 – Tiborg 2014-09-12 12:42:30

0

使用setAttribute

function changeCoords(areaID, newCoords) { 
    var x = document.getElementById(areaID); 
    x.setAttribute('coords', newCoords); 
} 

DEMO