2015-01-12 5 views
0

dom에 추가하는 D3 차트가 있습니다. 아래 코드를 포함 시키면 차트가 즉시 애니메이션으로 나타납니다. 그러나 나는 그런 일이 일어나기를 원하지 않는다. 따라서 나중에 전환을 추가하고 싶습니다. 차트를 추가했지만 if/else 문을 사용하여 동일한 함수를 다시 실행하면 두 번째 차트를 추가하지 않고 아래 코드를 실행하는 대신 차트가 문제가됩니다. 지금은 움직이지 않습니다. 내가 무엇을 선택할 지에 대한 충분한 정보를 제공하지 않기 때문에 궁금합니다. ({})은 충분히 구체적이지 않습니까? - 또는 잠재적으로 다른 문제일까요?dom에 이미 추가 된 svg를 선택하는 방법 (변경)

    var transition = d3.select({}).transition() 
        .duration(250) 
        .ease("linear"); 
        var that = this; 
+1

내가 할 수있는 :

svg.transition().duration(250).ease("linear"); 

을 나중에 당신이 select 문에 대한 문자열을 사용하는 가지고 선택을해야하는 경우 'd3.select ({}) '가 아무것도 선택하지 않는다는 것을 확인하십시오. 그것보다 많은 도움이 필요하면 좀 더 많은 코드가 필요합니다. – Mark

답변

0

이전에 d3 차트를 추가 한 경우 svg에 대한 참조가 저장되었을 가능성이 있습니까?

var svg = d3.select('body').append('svg').attr({/*...*/}); // etc. 

당신이 변수를 재사용 할 수 있습니다 위의 연습을 가정 :

d3.select('svg').duration(250).ease("linear"); 
// selects the first <SVG> tag found in the DOM 
관련 문제