2011-08-13 4 views
1

을 반환합니다. 대답은 간단하지만 나는이 시간을 낭비했음을 맹세합니다.div 요소를 얻으려면 parseInt를 사용합니다. 속성은 항상 NAN

div 요소의 위치를 ​​일반 'javascript를 사용하여 변경하려고합니다. 먼저 요소의 처음 상단 및 왼쪽 속성 값이 정수로 필요합니다. parseInt (element.style.top, 10)를 사용하려고합니다.

문제는 초기 (기본) element.style.top과 왼쪽 값은 항상 NaN을 반환한다는 것입니다. 값을 구문 분석하기 전에 위쪽 및 왼쪽 값을 지정하면 올바르게 작동합니다 ... 값을 아직 지정하지 않은 상황을 처리 할 수 ​​있기를 원합니다 ...

+0

일부 코드를 표시하십시오. – yoda

+0

이러한 CSS 값은 일반적으로 단순한 숫자가 아니며 모두 (명시 적 또는 묵시적) 유형 (엠, 픽셀, % 등)을가집니다. – Oded

+0

나는 parseInt()가 알파 문자 앞에 오는 숫자를 반환한다고 믿습니다 ... 그래서 parseInt (100px)는 100을 반환합니다. 아니오? – SharpBarb

답변

2

CSS 속성 값이 "auto"이기 때문에 "NaN"값이 나올 수 있습니다. 그것은 IE에서 많이 발생합니다.

+0

현재 이것을 FF4에서 시험해보기. element.style.top의 초기 값을 인쇄 해 보았습니다. (값을 파싱하지 않고 something.innerhtml을 사용하지 않았습니다.) 초기 값은 완전히 공백입니다. – SharpBarb

+0

음, 빈 문자열도 "번호가 아닙니다"입니다. 당신이 할 수있는 일은'~~ element.style.top'을 사용하는 것인데, 빈 문자열과'null'을 0으로 변환합니다. – Pointy

1

element.offsetTop 또는 element.offsetLeft 반환 정수 (구문 분석 필요 없음)를 시도해 보셨습니까? element.style.topauto, 3em, 20%과 같이 여러 가지가 될 수 있습니다. autoparseInt의 경우 NaN을 반환하고, 다른 경우에는 숫자를 반환 할 수 있지만 필요한 숫자는 반환하지 않을 수 있습니다.

+0

오프셋 함수는 style.top 또는 style.left와는 다른 값을 반환합니다. 경계 및 여백을 고려해야합니다. 다른 하나는 – SharpBarb

+0

입니다. @SharpBarb http://www.quirksmode.org/js/findpos.html 당신을 더 도울 수 있습니까? – KooiInc

0

스타일 속성 (예 : CSS로 설정)을 쿼리하고 있습니다. 그러나 요소의 실제 위치가 필요합니다. Javascript를 사용하여 수행하는 방법에 대해 here을 살펴보십시오.

관련 문제