您的位置:首页 > Web前端 > JQuery

jQuery获取元素位置以及高度与宽度

2016-11-16 15:42 471 查看
对于大部分应用来说,只需要获取元素的位置以及高度与宽度,就可以根椐当前元素的位置来调整打开新窗口的位置,动态调整打开新窗口效果,这对于打开新窗口来说更加实用。jQuery提供了一个获取位置方法offset()和二个分别获取高度与宽度方法height()和width(),结合上期实例,我们增加如下几行代码,了解jQuery获取元素位置以及高度与宽度方法,供参考。

javascript部分

$(document).ready(function(){

$(”#oButton”).click(function(){

openwin.getWin();

});

});

var openwin = {};

openwin.getWin = function(){

var obj = $(”#open”);

//是否已经新开窗口

if(obj.html() != ” ){

openWindow = $(”#newWindow”);//存在窗口

openWindow.slideToggle(”slow”);//显示效果

}else{

//模拟弹出窗口样式

var openWindow = $(openwin.getHtml());//不存在窗口

//定义CSS样式 模拟关键 自定义设置CSS样式

var obj = $(”#oButton”);

var offset = obj.offset();

var right = offset.left+obj.width();

var down = offset.top+obj.height();

openWindow.css({

‘font-size’:'12px’,

‘position’:'absolute’,

‘margin’:'20px’,

‘left’:right,

‘top’:down,

‘width’:'300px’,

‘background-color’:'#f0f5FF’,

‘border’: ‘1px solid #000′,

‘z-index’: ‘50′,

‘padding’:'10px’});

openWindow.appendTo($(”#open”));

}

//绑定单击事件 确定

openWindow.find(”#show”).click(function(){

openwin.showWindow();

}).end();

//绑定单击事件 关闭

openWindow.find(”#closed”).click(function(){

openwin.closeWindow();

}).end();

}

//获取窗口页面元素 模拟窗口

openwin.getHtml = function(){

//自定义页面元素,样式,大小等

html = ‘<div id=”newWindow”>’;

html += ‘<p>jQuery弹出窗口</p>’;

html += ‘<p>网站:<input type=”text” name=”" value=”" /></p>’;

html += ‘<p><button id=”show”>确定</button> <button id=”closed”>关闭</button></p>’;

html += ‘</div>’;

return html;

}

//确认事件

openwin.showWindow = function(){

$(”#newWindow”).hide();

}

//关闭事件

openwin.closeWindow = function(){

$(”#newWindow”).hide();

}

代码详解

1,获取对象(自定义调整打开新窗口参照元素)

var obj = $(”#oButton”);

实例中我获取的对象是弹出窗口按钮,这样创建的新窗口就会根椐按钮的位置进行调整,实例中将创建的新窗口显示的按钮的右下角。

2,获取对象元素的位置(offset()方法)

var offset = obj.offset();

获取对象元素的位置,分别是元素的top和left,调用方法是:offset.left和offset.top,可知当前对象的左部和顶部位置。

3,获取对象元素的宽度(width()方法)

var right = offset.left+obj.width();

实例中是获取对象的右下角位置,创建新窗口的左部位置。

4,获取对象元素的高度(height()方法)

var down = offset.top+obj.height();

实例中是获取对象的右下角位置,创建新窗口的顶部位置。

5,定义CSS样式,分别设置左部和顶部。

‘left’:right,

‘top’:down,

要注意CSS样式中margin和padding的值,以及浏览器IE与firefox兼容等效果。

结合上面实例,jQuery获取元素位置以及高度与宽度非常简单,通过内置方法offset(),width()和height()实现我们的动态调整打开新窗口功能,对于其它扩展应用来说也一样,了解jQuery获取元素位置以及高度与宽度方法,对于创建新元素,调整元素位置与大小,将非常实用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息