css:left,posLeft,pixelLeft
2009-06-30 02:18:00 来源:WEB开发网<SCRipT LANGUAGE="javaScript" src="http://www.CSSrain.cn/demo/JQuery+API/jquery-1[1].2.1.pack.js"></SCRIPT>
<SCRIPT LANGUAGE="Javascript">
<!–
$(function(){
alert( $("#re").css("left") + " " + $("#re").get(0).style.posLeft +" "+ $("#re").get(0).style.pixelLeft )
})
//–>
</SCRIPT>
<div id="re" style=" position : absolute ; left:200px;">aaaaaaa</div>
=========================
对比下:
$("#re").css("left") : 返回200px,
$("#re").get(0).style.posLeft :返回200,
$("#re").get(0).style.pixelLeft :返回200,
所以后面2个适合于 计算, 因为没有单位 ,很适合计算.
那么posLeft 和pixelLeft 又有什么区别呢?
概念东西不说了 举个例子吧,
比如我把div的left改成 left:200em;
http://www.cncms.com/
程序代码
<div id="re" style=" position : absolute ; left:200em;">aaaaaaa</div>
这时候
left: 200em;
posLeft 返回: 200 ;
pixelLeft 返回 : 4267 ;
所以
left 是字符串,是取html中left的值.
posLeft 就是将left的值转化为数值类型,而且是浮点型 . (不带单位)
pixelLeft 是数值,是将left的值(如果是空串则赋为0)转化为像素值.. (不带单位)。
由于上面属性只支持 ie.(所以不建议使用)
建议使用
$("#re").get(0).offsetLeft
这个属性通用.
jquery1.2以后支持:
$("p").offset().left
<SCRIPT LANGUAGE="JavaScript">
<!–
$(function(){
var p = $("p");
var offset = p.offset();
p.html( "left: " + offset.left + ", top: " + offset.top );
})
//–>
</SCRIPT>
<br/><br/><br/><br/>
<p>aaa</p>
更多精彩
赞助商链接