如题,请问jquery下的offset().top和.css('top')有何区别?
设置offset({top:xxx})和设置css('top',xxx)又有什么区别呢?

解决方案 »

  1.   

    offset().top相对于client
    css top     相对于上级第一个定位元素
      

  2.   

    1、在html中,如果直接用css定位的话如果没有绝对定位的父对象的话,则按照body来定位,其中jquery中的css()和此一样,2、但jquery中的offset()则是按照document来定位的,所以在用offset()进行定位的时候要特别注意, 
    absolute  :  将对象从文档流中拖出,使用 left, right, top, bottom等属性相对于其最接近的一个最有定位设置的父对象进行绝对定位。如果不存在这样的父对象,则依据 body对象。而其层叠通过 z-index属性定义 
    .offset()返回: Object 
    为匹配的元素集合中获取第一个元素的当前坐标,相对于文档(document)。.offset()方法允许我们检索一个元素相对于文档(document)的当前位置。和.position()的差别在于:.position()是相对于相对于父级元素的位移。当定位在全局环境中(比如拖放的实现)最高的一个新元素时.offset()是非常有用的。.offset()返回一个包含top 和 left属性的对象 。注意:jQuery不支持获取隐藏元素的偏移坐标。 .offset( coordinates )返回: jQuery 
    .offset( coordinates )coordinates一个包含top 和left属性的对象,用整数指明元素的新顶部和左边坐标。•version added: 1.4.offset( function(index, coords) )
    •function(index, coords)返回用于设置坐标的一个函数。接收元素在匹配的元素集合中的索引位置作为第一个参数,和当前坐标作为第二个参数。这个函数应该返回一个包含top 和left属性的对象。