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

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

left değerini almayı denediğimde, bazı tarayıcılarda sonuçların bazıları% piksel olarak piksellere neden olur.parseInt% and px problem

İştehttp://jsfiddle.net/WTt4s/1/

Google Chrome yüzde değerini veren bir örnektir, IE9 yerine pikselleri verir.

Tüm tarayıcılarda aynı değeri nasıl alabilirim (px veya%)?

+2

Eğer 'top' gerçek metin değeri kontrol ettikten kullanmaya çalışın? Hala yüzde olarak mı yoksa tarayıcılar bunu piksellere mi dönüştürüyor? Eğer hala yüzde ise, parseInt yapmadan önce '%' karakterini kestirirseniz ne olur? - '$ (" div "). css (" top "). replace ('%', '')' – Spudley

+2

'Uyarı ($ ("div") çıktısı nedir. css ("top")) ' ParseInt yerine? –

+0

o parseInt bir sorun gibi görünmüyor ama tarayıcı ile ilgili davranış – VirtualTroll

cevap

4

bu bir parseInt($("div")[0].style.top, 10)

+0

IE 8'de bir test durumu ekledi jsFiddle ile "90" aldım - http://jsfiddle.net/WTt4s/2/ – DanielB

0

deneyin .offset().top veya .position().top yerine