<div style="left: 100%"></div>
parseInt($("div").css("left"), 10);
当我尝试获得left
的值时,某些浏览器以像素为单位给出结果,其中一些以%表示。parseInt%和px问题
下面是一个例子http://jsfiddle.net/WTt4s/1/
谷歌浏览器提供了百分比值,IE9给人像素代替。
如何在所有浏览器中获得相同的值(px或%)?
<div style="left: 100%"></div>
parseInt($("div").css("left"), 10);
当我尝试获得left
的值时,某些浏览器以像素为单位给出结果,其中一些以%表示。parseInt%和px问题
下面是一个例子http://jsfiddle.net/WTt4s/1/
谷歌浏览器提供了百分比值,IE9给人像素代替。
如何在所有浏览器中获得相同的值(px或%)?
试试这个parseInt($("div")[0].style.top, 10)
上添加了一个测试用例我用你的jsFiddle获得了“90” - http://jsfiddle.net/WTt4s/2/ – DanielB 2011-05-09 14:57:19
尝试使用.offset().top
或.position().top
代替
你检查'top'的实际文本值?它仍然在百分之几还是让浏览器将它转换为像素?如果它仍然以百分比表示,如果在执行parseInt之前剥离'%'字符会发生什么情况? - $(“div”).css(“top”)。replace('%','')' – Spudley 2011-05-09 14:30:04
'alert($(“div”).css(“top”))代替'parseInt'? – 2011-05-09 14:30:12
它似乎不像parseInt问题,但与浏览器相关的行为 – VirtualTroll 2011-05-09 14:32:17