来源:http://www.biuuu.com/?p=285
上期在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的自适应宽度与高度相册代码详解》 在网页设计中,展示图片的相册功能是一项不可或缺的部分。为了提升用户体验,一个优秀的相册不仅要美观,还需要具备良好的响应式设计,能够根据用户设备的屏幕尺寸...
这可以通过获取图片的自然宽度(`naturalWidth`)和高度(`naturalHeight`),然后根据新的容器宽度来动态设置高度。 5. **响应式图片**:使用`<img>`标签的`srcset`属性或`picture`元素,可以根据设备的像素密度和...
在回调函数中,我们可以获取窗口的新宽度,然后根据这个值来设置一级菜单的宽度。如果一级菜单包含浮动元素(如子菜单),我们还需要确保它们的总宽度不超过当前窗口宽度,以防止溢出。 在实现过程中,我们还需要...
标题 "JQ 新窗口打开链接并设置参数" 涉及到的是使用jQuery库来实现JavaScript中的一个常见功能,即在新窗口中打开一个链接,并且可以传递参数。jQuery是JavaScript的一个轻量级库,它简化了DOM操作、事件处理、动画...
- **尺寸获取**: 可以使用jQuery提供的方法如`$(window).width()`和`$(window).height()`来获取浏览器窗口的宽度和高度。 ##### 2.6 屏幕中心定位 - **计算定位坐标**: 要将元素居中显示在浏览器窗口中,需要计算...
首先,jQuery提供了`$(window).height()`和`$(window).width()`这两个方法来获取当前窗口(包括滚动条)的可视区域高度和宽度。然而,在某些情况下,特别是在页面加载的早期阶段,这些方法可能返回不准确的结果,...
jQuery提供了`width()`方法来获取和设置元素的宽度。例如,`$("#myCell").width(200)`将设置指定单元格的宽度为200像素。若要动态计算宽度,可以结合其他JavaScript方法,如`outerWidth()`,它会返回包括边框的宽度...
为了实现以上功能,开发者需要熟悉CSS(层叠样式表)来控制元素的样式和位置,以及JavaScript(尤其是jQuery库)来处理用户交互和动态内容的加载。同时,了解响应式设计原理也是必要的,因为自适应网页宽度是瀑布流...
3. 获取元素尺寸 - 使用`$(document).ready()`确保文档加载完成后再执行脚本,绑定了点击事件,获取`div`元素以及文档和窗口的尺寸信息,并使用`$.format`函数将这些尺寸信息格式化输出。 4. 显示尺寸信息 - 通过`....
这一过程涉及对元素高度的比较和计算,可以使用jQuery的`height()`方法获取元素的高度,以及`offset()`方法获取元素相对于文档的位置信息。 在实际应用中,这个简单的文字瀑布流排版代码可能还需要进一步优化,例如...
jQuery能够帮助检测设备的特性,如窗口宽度,根据这些信息调整布局和效果。 7. **性能优化**:为了确保在各种设备上流畅运行,开发者可能会利用jQuery的节流和防抖技术来限制滚动事件的频率,避免频繁计算和重绘。 ...
超实用的jQuery代码段精选近350个jQuery代码段,涵盖页面开发中绝大多数要点、技巧与方法,堪称史上最实用的jQuery代码参考书,可以视为网页设计与网站建设人员的好帮手。《超实用的jQuery代码段》的代码跨平台、跨...
2. **获取窗口尺寸**:在回调函数中,我们可以使用`$(window).width()`和`$(window).height()`来获取当前窗口的宽度和高度,以便根据新的窗口尺寸调整背景图片。 3. **CSS样式控制**:背景图片的自适应通常通过CSS...
总的来说,jQuery自适应窗口大小轮播图特效的实现涉及到jQuery的选择器、事件处理、动画API等多个方面,它通过动态调整元素尺寸和布局,实现了在不同设备上都能良好展示的轮播图效果。这对于提升网站的用户体验和...
在网页开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作,包括设置和获取网页元素的宽度和高度。本篇文章将详细讲解如何利用jQuery的`width()`和`height()`方法来改变指定网页元素的尺寸。 首先...
这个过程需要动态进行,当新的图片加载或窗口尺寸变化时。 5. **CSS辅助**:在jQuery实现瀑布流布局的同时,也需要合理的CSS样式配合。例如,设置图片的`display`为`inline-block`,并使用负的`margin`值来消除间距...
// 获取窗口宽度和高度 var windowWidth = $(window).width(); var windowHeight = $(window).height(); // 根据需要设置缩放比例或固定尺寸 var scaleProportion = 0.5; // 这里可以自定义缩放比例 ...
4. **jQuery动态调整**:在页面加载后,可以使用jQuery获取窗口大小,并根据窗口尺寸动态调整图片的大小和位置,确保在不同设备和屏幕尺寸下都能保持良好的视觉效果。 5. **交互效果**:当用户鼠标悬停在图片上时,...
【标题】"jquery5实现的屏幕全屏广告动态元素切换广告特效源码"涉及的核心技术是使用jQuery库来创建一个全屏广告展示效果,其中包含了动态元素的切换功能。jQuery是一个广泛使用的JavaScript库,它简化了HTML文档...