上期在jQuery模拟新窗口打开轻松使用javascript创建新窗口一文中通过jQuery模拟新窗口打开创建新窗口,了解jQuery打开新窗口机制原理,但通过细心我们发现,定义的窗口CSS样式是固定的,对于实际应用来说非常有限,需要扩展该功能增加创建新窗口的实用性,对于大部分应用来说,只需要获取元素的位置以及高度与宽度,就可以根椐当前元素的位置来调整打开新窗口的位置,动态调整打开新窗口效果,这对于打开新窗口来说更加实用。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获取元素位置以及高度与宽度方法,对于创建新元素,调整元素位置与大小,将非常实用。
分享到:
相关推荐
本文将详细讲解如何使用jQuery获取屏幕的高度和宽度,这对于创建响应式网页设计或者根据屏幕尺寸调整元素布局至关重要。 首先,我们需要了解什么是屏幕高度和宽度。屏幕高度是指浏览器窗口可视区域的垂直尺寸,而...
在本案例中,我们将探讨如何使用jQuery库来实现一个灵活的瀑布流布局,同时允许图片的宽度和高度可变。 首先,我们需要理解jQuery的基本用法。jQuery是一个轻量级的JavaScript库,它简化了HTML文档遍历、事件处理、...
超实用的jQuery代码段精选近350个jQuery代码段,涵盖页面开发中绝大多数要点、技巧与方法,堪称史上最实用的jQuery代码参考书,可以视为网页设计与网站建设人员的好帮手。《超实用的jQuery代码段》的代码跨平台、跨...
"jquery仿ps图像标尺寸表参考线测量图片位置尺寸大小"这个主题就是关于如何使用jQuery实现一个功能,让用户在浏览器中能够像在PS中那样测量和调整图片的位置和尺寸。下面我们将详细探讨相关的知识点。 首先,jQuery...
Dialog的配置项非常丰富,包括但不限于宽度、高度、是否可拖动、是否可调整大小、是否模态、关闭按钮等。此外,还可以自定义对话框的内容,设置打开和关闭时的回调函数,以及通过CSS调整其样式。 总之,“jQuery ...
通过设置不同的参数,我们可以调整对话框的大小、位置、样式、标题、内容以及是否可拖动和关闭等属性。例如: ```javascript $("#myElement").dialog({ autoOpen: true, // 自动打开对话框 width: 400, // 宽度 ...
3. **初始化Dialog**:使用jQuery来初始化这个对话框,设置其属性如宽度、高度、是否可拖动等,并指定打开和关闭的触发事件。 ```javascript $(function() { $("#login-dialog").dialog({ autoOpen: false, // ...
在网页设计中,浮动层是一种常见的交互元素,它可以在用户移动鼠标时跟随鼠标的位置进行动态显示,常用于提示信息、广告展示或者下拉菜单等。本篇将详细讲解如何使用jQuery来实现这样的功能。 首先,我们需要理解...
8. **宽度和高度**:可以设置对话框的宽度和高度,也可以设置为自动(auto),让 Dialog 根据内容自动调整尺寸。 9. **动画效果**:Dialog 允许添加打开和关闭的动画效果,如淡入淡出(fadeIn/fadeOut)、滑动等。 ...
`animate()`方法则允许自定义动画效果,包括改变宽度、高度、透明度等属性。 5. AJAX操作 jQuery的AJAX功能简化了异步数据请求。`$.ajax()`是核心函数,可以进行各种类型的HTTP请求。`$.get()`和`$.post()`分别用于...
5. **在线QQ集成**:如果要接入在线QQ客服,需要获取QQ的官方代码片段,将其嵌入到HTML中,并通过JavaScript处理点击事件,打开与指定QQ号码的聊天窗口。 6. **可选功能**:还可以添加其他特性,比如预设问题列表、...
- `.width()`/`.height()`:获取元素的宽度和高度。 在实际开发中,结合Eclipse的快捷键和jQuery的功能,可以极大地提高前端开发的效率。了解并熟练运用这些工具,是每个IT从业者不可或缺的技能。
在这个例子中,我们创建了一个具有指定标题、内容、宽度和高度的对话框,并添加了两个按钮及其对应的回调函数。 4. **进一步定制** jDialog提供了许多可配置选项,如`modal`(是否为模态对话框)、`autoOpen`...
本文将深入探讨jQuery通用对话框的实现原理、使用方法以及常见应用场景。 一、jQuery通用对话框基础 jQuery通用对话框是基于jQuery库的插件,通常由JavaScript和CSS组成,无需额外引入图片资源,大大简化了页面...
1. **元素尺寸计算**:由于元素的宽度需要根据屏幕宽度自适应调整,因此需要动态计算每个投票项的宽度和高度。这通常通过JavaScript实现,考虑到不同设备的屏幕尺寸差异。 2. **布局调整**:当新元素加载时,瀑布流...
为了让弹框居中,我们可以利用CSS的`position`属性将其设置为`absolute`或`fixed`,然后通过JavaScript计算窗口的宽度和高度,以及弹框自身的尺寸,动态设置`top`和`left`属性,使其在任何情况下都能保持在屏幕中央...
- `width`和`height`: 指定Dialog的宽度和高度。 - `modal`: 如果设置为`true`,则对话框将在背景上添加半透明遮罩,创建模态效果,用户无法与对话框外的页面元素交互。 3. **事件处理** Dialog支持多种事件,如...
除了基础的配置,jQuery UI Dialog还有许多高级选项可以调整,如动画效果、关闭图标、拖动功能、以及事件监听等。同时,Dialog可以与其他jQuery UI组件结合使用,如Datepicker、Tabs等,提供更丰富的功能。 总结来...
Thickbox 提供了许多配置选项,如宽度、高度、是否自动调整大小等,可以通过修改 `$.thickbox` 的参数来设置。例如,你可以自定义弹出窗口的宽度: ```javascript $.thickbox({html: data, width: '600px'}); ``...
在IT领域,jQuery是一个广泛使用的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画制作以及Ajax交互。在本话题中,我们将深入探讨jQuery 1.3版本中的模式对话框功能。这个对话框是一种非常实用的...