当前位置: 代码迷 >> Web前端 >> JQuery中失去Element真实top、left、height和width属性值的对象
  详细解决方案

JQuery中失去Element真实top、left、height和width属性值的对象

热度:318   发布时间:2012-10-26 10:30:59.0
JQuery中得到Element真实top、left、height和width属性值的对象
在一个电子商务网站的实施过程中,发现使用的JQuery1.3.2获得Element的实际的top、left、height和width时,对于IE浏览器和Chrome需要使用不同的代码来得到。为了便于统一使用,我 自己写了一个对象,在这里记录下来,以备将来参考。
JQuery的版本为1.3.2
该对象的代码如下:
var isIE = $.browser.msie;
function JQElement(){
	this.obj;
	this.top;
	this.left;
	this.height;
	this.width;
	
	this.getE = function(objid) {
		if(isIE){
			this.obj = document.getElementById(objid);			
			this.top = this.obj.offsetTop;
			this.left = this.obj.offsetLeft;
			this.height = this.obj.offsetHeight;
			this.width = this.obj.offsetWidth;
		}else{
			this.obj = $("#" + objid);
			this.top = this.obj.offset().top;
			this.left = this.obj.offset().left;
			this.height = this.obj.height();
			this.wight = this.obj.width();	
		}
		
		return this;
	}
}


调用该对象的代码为:
var $searchdiv = new JQElement().getE("search_div");
var searchtop = $searchdiv.top;
var searchleft = $searchdiv.left;
var searchwidth = $searchdiv.width;
var searchheight = $searchdiv.height;
delete $searchdiv;


通过该对象的编写,在使用JQuery获得div元素的实际位置时,代码量减少了不少。同时对于JQuery在其他的浏览器出现可能的问题时,修改起来也会更加方便。
  相关解决方案