我有類似的問題,toFront()函數... 以及我想說有兩種方法可以做到這一點... 第一個(不太推薦)在所有的元素的集合,使他們在前面,但他們仍然會按照集合中的順序排序....不好的方法... set.forEach(el){ e.toFront();}
第二個是真正的性感:)我的最愛:)精美的老總phrogz解釋here
我建議使用「G」標記......簡單的JavaScript。讓所有的組被封閉在AG標籤
var mySet = document.createElementNS("http://www.w3.org/2000/svg", "g");
mySet.setAttribute('id','myset');
//should look something like this
//use jQuery append or javaScript appendChild to add your set elements to this group
<g id = 'myset'>
<rect>
<circle>
//etc etc
</g>
現在
mySet.parentNode.appendChild(mySet); //the key line
這將只是把它的SVG容器的底部,因此正在根據畫家繪製的最後,並在頂部顯示模型也提到由先生phrogz在鏈接....你可以使用JavaScript來操縱自己的Z指數,如果需要...
感謝您的回覆,我生成的對象動態和連續,所以在這種情況下會每當我創建一個新的集合然後,我需要創建一個新的g標籤元素將該集追加到g標籤? – 2012-09-04 07:51:23
不幸的是....或者你必須運行集合的每個元素的關鍵線.... set.forEach(function(el){el.node.parentNode.appendChild(el.node)}) ;但這與第一種解決方案相同.... – Aukhan 2012-09-04 11:57:32