2012-08-17 4 views
2

Raphael JS의 모든 요소를 ​​가져 오는 방법을 누군가에게 알려주 길 바랬습니다.Raphael JS : 앞에 올리기

동적으로 생성 된 일부 래퍼 요소 집합을 사용하여 각 집합은 배열에 저장되므로 각 집합과 상호 작용하고 개별 집합을 대상으로 사용하기가 더 쉽습니다. 사용자가 다양한 세트와 상호 작용할 때 전체 세트를 응용 프로그램의 앞에 가져올 수 있기를 원합니다. http://raphaeljs.com/reference.html#Element.toFront

그러나이 제대로 작동되지 않았습니다

나는 여기에 설명 된대로() .toFront를 사용하여 시도했다. 각 세트는 원 또는 원 섹터, 텍스트 요소 및 추가 원 또는 추가 섹터를 포함합니다.

아이디어가 있으십니까? 어떤 시점에서든 사용자는 최대 40/50까지의 세트를 가질 수 있으므로 세트를 가져 오는 것은 관계없이 필요합니다.

답변

2

toFront() 함수와 비슷한 문제가 발생했습니다 ... 잘 할 수있는 방법은 두 가지가 있습니다. ... 첫 번째 코드 (권장하지 않음)는 모든 코드에 루프를 적용합니다. 요소들을 앞에 가져 오지 만 집합의 순서에 따라 순서를 지정해야합니다 .... 좋은 접근 ... set.forEach (el) { e.toFront();}

두 번째는 정말 섹시한 :) 아름답게 here

하는 내가 'g'태그 ... 간단한 자바 스크립트를 사용하는 것이 좋습니다 미스터 phrogz에 의해 설명 : 내 즐겨 찾기입니다. 모든 세트는

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> 

지금

이 단순히 SVG 용기의 바닥에 걸릴 것
 mySet.parentNode.appendChild(mySet); //the key line 

, 그래서 화가에 따라 지난 그려 상단에 표시되는 AG 태그로 묶인하자 모델도 링크에서 아저씨 phrogz에 의해 언급 .... 당신이 필요하면 자신의 Z- 인덱스를 조작하는 자바 스크립트를 사용할 수 ...

+0

답장을 보내 주셔서 감사합니다, 나는이 경우에는 동적으로 개체를 생성하고 있습니다. 새 세트를 만들 때마다 새 g 태그 요소를 만들어야합니다. 세트를 g 태그에 추가 하시겠습니까? –

+1

불행히도 예 .... 아니면 세트의 각 요소에 대해 키 라인을 실행해야합니다 .... set.forEach (function (el) {el.node.parentNode.appendChild (el.node)}) ; 하지만 이것은 첫 번째 해결책과 같습니다 .... – Aukhan

관련 문제