2012-07-10 105 views
3

我正在爲我的醫生製作一個小型網絡應用程序,並且希望讓此圖像的圈子可點擊。當用戶點擊一個時,它應該改變顏色。我以爲我會用Jquery和HTML圖像地圖來做到這一點,但我想知道是否有其他人對如何做到這一點有了一些想法?JavaScript和HTML圖像地圖

謝謝!

Main Image

+1

所以你問替代HTML圖像映射或如何做到這一點與HTML圖像地圖? – jfrej 2012-07-10 17:06:07

+0

另一種方法是在SVG中繪製它,以便可以在任何形狀上添加樣式(包括懸停)和鏈接。 – 2012-07-10 17:08:52

回答

3

見我的實現:http://jsfiddle.net/riateche/NTkmV/

此時應更換背景圖片相同的無界。您應該填充circles數組,其座標(和可選半徑)的圓圈。我只添加了4個圈子。

HTML:

<div id="container"> 
    <img src="http://i.stack.imgur.com/cQdo2.png"> 
</div> 

CSS:

#container { position: relative; } 
.circle { 
    width: 10px; 
    height: 10px; 
    position: absolute; 
    border: 3px solid green; 
    border-radius: 100%; 
} 

.circle.on { 
    border-color: red; 
} 

的JavaScript:

var circles = [ 
    //each item contains x, y and optional size 
    [93, 81, 18], 
    [44, 173, 18], 
    [108, 69], 
    [134, 77] 
]; 

$(circles).each(function() { 
    console.log("ok"); 
    var obj = $("<div/>"); 
    obj.addClass("circle"); 
    obj.css("left", this[0]);  
    obj.css("top", this[1]); 
    if (this[2]) { 
    obj.width(this[2]); 
    obj.height(this[2]); 
    } 
    $("#container").append(obj); 
}); 

$(document).on("click", ".circle", function(e) { 
$(e.target).toggleClass("on"); 
}); 
+0

哇,完美的作品!你用什麼方法找到圓上的座標? – Andrew 2012-07-10 17:14:57

+0

非常感謝你! – Andrew 2012-07-10 17:15:09

+0

我已經使用GIMP來獲取光標下的點的座標。您可以使用這個或任何其他圖形編輯器。 – 2012-07-10 17:17:57