jQuery动态获取元素的top值,用css()方法,这一点通常在页面中给元素做定位的时候会用到
别的不说,今天就说一下IE
如:一个简单的div,随便给一点样式
<div id="div"></div>
#div{ width:200px; height:200px;
border:1px solid #aaa; position:relative; }
这个div目前是只给了一个relative定位,如果让它跟随滚轮事件改变个top值什么的,那在获取值的时候,肯定是这么做
var thisTop = parseInt($("#div").css("top"));
这就拿到了数值,还没改变的时候是0。但是IE里面就不行了,IE拿到的就是NAN!因为IE中拿到的值应该是"auto",parseInt之后就是NAN了
所以,这么着
var thisTop = parseInt($("#div").css("top")); if(isNaN(thisTop)){ thisTop = 0; } //或者写为 isNaN(thisTop) && (thisTop = 0)
这里只是拿top来举例