2011-05-10 7 views
0

내 차트 링크를 참조하십시오.자바 스크립트를 통한 선택 처리

http://www.humblesoftware.com/finance/index (이 사용자 지정)

기본적으로 요구 사항은 선택의 1 개월 시점에서 할 수 있다는 것입니다.

(아이 차트에서) 선택이 왼쪽에서 이루어진 경우 측면에서, 나는 다른 값에 단순히 30을 더한다.

xmin = Math.floor(area.x1); 
xmax = xmin+30; 

그러나 선택이 오른쪽에서 이루어 졌다면 어떻게 처리 할 수 ​​있을까 ??

(xmax이 먼저 선택되면 어떻게해야 xmin 값을 처리 할 수 ​​있습니까?)

+2

반대 할 ... 설정 'xmax'을 선택한 가치와'xmin' 그 값을 뺀 삼십일 – Chad

+0

감사 당신은 차드를 의미합니다. xmax = Math.ceil (area.x2); 및 xmin = xmax-30 ?? 하지만 어떻게 처리 할 수 ​​있을까 ?? 모든 샘플 코드는 – Kiran

+0

@Chad를 참조하십시오 :'area.x1 '이 클릭 된 위치에 따라 이것이 잠재적으로 뒤로 또는 앞으로 전달 될 수 있습니까? 최종 사용자에게 혼란을주는 솔루션처럼 보입니다. –

답변

1

상황에 대해 너무 많이 알고하지 않고, 이런 일을 수행해야합니다

// set the xmin to where they click 
xmin = Math.floor(area.x1); 

// make x-max the + 30 as you normally do 
xmax = xmin + 30; 

// now add a check to make sure we're not off the chart 
// if we are, make the chart's last possible X value the 
// x max, and subtract 30 from that to go backwards (and 
// it may be a good idea to check if xmin is under the 
// chart's min x value. 
if (xmax > chart.xmax){ 
    xmax = chart.xmax; 
    xmin = xmax - 30; 
    if (xmin < chart.xmin){ 
    xmin = chart.xmin; 
    } 
} 
+0

Brad, 이렇게하면 xmin과 xmax 값을 얻을 수 있습니다. xmin = Math.floor (area.x1); xmax = Math.ceil (area.x2); UR 코드의 작동 방식을 알려주시겠습니까? – Kiran

+0

@Kiran : 더 큰 숫자 (상단 범위 용)와 적은 수 (하단 범위 용)를 찾으려면 서로 대조를해야합니까? 'xmin = area.x1; xmax = area.x2; if (xmin> xmax) {xmin = xmin + xmax; xmax = xmin - xmax; xmin = xmin - xmax; } xmin = Math.floor (xmin); xmax = Math.ceil (xmax);'아마도? –

관련 문제