为jquery.position置换法安全()方法获取非价值

为jquery.position置换法安全()方法获取非价值
调用jquery.position()方法返回的位置相对于父元素。jQuery的官方文档描述了它不同于偏移()方法..偏移量()返回相对于文档的位置,而位置()返回相对于父元素的位置。

但事实上,在使用过程中,我们发现位置()返回的值通常是0,但事实不是0,尤其是谷歌浏览器和IE浏览器,福克斯浏览器没有这个问题。

基于WebKit的浏览器的原因(谷歌浏览器、Safari浏览器)为例,只有当元素(图片、flash)完全加载,浏览器可以访问这些元素对火狐浏览器的高度和宽度在加载DOM可以访问这些属性,它不需要知道完整的尺寸元。和谷歌浏览器不能做。所以在一个浏览器如谷歌/ IE,如果你想使用的位置()得到该元素的偏移量,该值通常是初始值:0。

一种补救方法是将位置()调用放在$(窗口)Load()事件的触发器上,而不是在$(文档)就绪事件之后。但是这个方法不一定可靠。

另一种方法是使用:

复制代码代码如下所示:

jquery.fn.aposition =函数(){

thisleft = this.offset(左);

thistop = this.offset(顶部);

thisparent = this.parent();

parentleft = thisparent.offset(左);

parenttop = thisparent.offset(顶部);

返回{

左:thisleft parentleft,

上图:thistop parenttop

};

};
这产生了冗余代码,但更可靠和更可靠。

tag:价值方法电脑软件jqueryposition

相关内容