2011-05-09 4 views
6
<div style="left: 100%"></div> 

parseInt($("div").css("left"), 10); 

left 값을 얻으려고하면 일부 브라우저에서는 결과가 픽셀 단위로 표시되고 일부는 %로 표시됩니다.parseInt % 및 px 문제

여기http://jsfiddle.net/WTt4s/1/

Chrome이 백분율 값을 제공하는 예를 이고, IE9 대신 픽셀을 제공한다.

모든 브라우저 (px 또는 %)에서 동일한 값을 얻으려면 어떻게해야합니까?

+2

당신이'top'의 실제 텍스트 값을 확인하신 후 사용해보십시오? 여전히 백분율로 표시 되었습니까? 아니면 브라우저에서 픽셀로 변환합니까? 여전히 백분율로 표시되는 경우 parseInt를 수행하기 전에 '%'문자를 제거하면 어떻게됩니까? – Spudley

+2

'alert ($ ("div") .css ("top"))의 출력은 무엇입니까''$ ("div"). 'parseInt' 대신에? –

+0

parseInt 문제는 ​​아니지만 브라우저와 관련된 동작으로 보입니다. – VirtualTroll

답변

4

이 하나 parseInt($("div")[0].style.top, 10)

+0

에 테스트 케이스를 추가했습니다. jsFiddle에 "90"이 있습니다. - http://jsfiddle.net/WTt4s/2/ – DanielB

0

시도가 .offset().top 또는 .position().top 대신

관련 문제