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

14 篇文章 0 订阅

form:http://apps.hi.baidu.com/share/detail/40266053

 

对于大部分应用来说,只需要获取元素的位置以及高度与宽度,就可以根椐当前元素的位置来调整打开新窗口的位置,动态调整打开新窗口效果,这对于打开新窗口来说更加实用。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获取元素位置以及高度与宽度方法,对于创建新元素,调整元素位置与大小,将非常实用。

 

设置元素值

$("#show_detail").css({

 "top": (thisOffset.top+10) + "px",

 "left": (thisOffset.left) + "px"});

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值