jQuery css(’left’)报告’px’而不是’%’
偶然发现了一个问题,我肯定必须有一个简单的解释,因为某些原因,我今天只能逃避。
如果我想确定一个绝对定位为precentage值的元素的CSS设置,jQuery只返回像素值( http://jsfiddle.net/xTUR3/2/ ):
HTML:
test $('wrp').css('left') =
CSS:
#wrp { position: absolute; left: -150%; width: 200%; background-color: green; height: 50%; } #out { position: absolute; top: 50%; }
JS:
$(document).ready(function() { var wrp = $('#wrp'); $('#out span').html(wrp.css('left')); });
编辑:任何人都知道是否有一种方法可以检索precentage值而无需编写专用的px-to-%转换函数?
为您制作小样品
码:
$(document).ready(function() { var lft = $('#wrp').css("left")+""; if (lft.match("px")) { lft = (lft.split("px").join("")*1/$('#wrp').parent().width())*100; if ($.browser == "msie") lft = lft>0 ? Math.ceil(lft) : Math.floor(lft); lft += "%"; } $('#out span').html(lft); });