首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

jQuery获取元素位置以及高度与宽度 动态整合打开新窗口效果

2012-09-16 
jQuery获取元素位置以及高度与宽度 动态调整打开新窗口效果实例代码(略)javascript部分$(document).ready(

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获取元素位置以及高度与宽度方法,对于创建新元素,调整元素位置与大小,将非常实用。

热点排行