2012-05-14 69 views
2

我缺少Raphael JS顯而易見的東西。我是a)循環訪問數組,b)從值中繪製圓圈,c)創建文本疊加層,以及d)在Raphael中設置偵聽器。Raphael JS - 通過id獲取元素,將該元素移動到頂端

我在掙扎的是在聽衆中的行爲。具體而言,我如何通過id獲取元素,然後執行諸如將其移動到頂部的操作。在的jsfiddle http://jsfiddle.net/NPks2/3/

來源我希望它可以工作,但事實並非如此。你能幫我嗎?

// this happening while looping through an object 
var p = paper.circle(x_coord, y_coord, diameter) 
    .data("i", i) 
    .attr({"fill": "90-"+fillColorStart+":5-"+fillColorEnd+":95","fill-opacity": 0.5}) 
    .glow({color: "#4b4b4b", width: 7}) 

    paper.text(x_coord, y_coord, opportunityTitle) 
    .data("text_id", i+"text") 
    .attr({ "font-size": 16, "font-family": fontFamily, "fill":fontColor}); 

    paper.text(x_coord, title_y_coord, ideasCount) 
    .attr({ "font-size": 27, "font-family": fontFamily, "fill":fontColor}); 


// loop is over, listeners are waiting 
paper.forEach(function(element) { 
    element.mouseover(function() { 
      c = elem_id = this.data("i");  
     t = p.getById(elem_id"+text); 

     c.toFront(); 
     t.toFront(); 
    }); 
}); 
+0

似乎有在'冗餘雙引號牛逼= P .getById(elem_id「+ text)'。是一個錯字嗎? –

回答

3

您需要添加:

this.toFront(); 

您element.mouseover功能:

我更新了fiddle