jquery offset positon 获取div坐标位置不准的解决方法

2015年06月20日 02:30 by:老修--走失的镜头盖

jquery可以非常方便获取div及其它元素在页面中的坐标位置,但是当页面中图片的时候这时候获取的位置通常会出现不准确的问题。

不管用offset还是用position 获取到的坐标位置都不准确,最终还是万能的谷歌帮我解决了问题。

原因就在于我使用的是 $(document).ready方法不能保证页面全部渲染完了,图片和div等可能都还未渲染,所以导致获取的坐标有误差。

解决方法:

改$(document).ready() 为  $(window).load()可以完美解决问题。

实例代码:

  1. $(window).load(function(){
  2. var divid = $("#cc"); //指定要获取元素的id
  3. var p=divid.position().top; //获取元素相对于父元素y轴位置
  4. var k=divid.width(); //获取元素宽度
  5. });

附:jquery获取元素坐标位置的两种方法:

1、获取元素在文档中的位置)。

  1. var X = $('#DivID').offset().top; 
  2. var Y = $('#DivID').offset().left; 

2、获取相对(父元素)位置: 

  1. var X = $('#DivID').position().top; 
  2. var Y = $('#DivID').position().left;