一直都在想怎么样使弹出的DIV能在任何时候都是居中显示的,刚开始的时候是用CSS样式直接定义好层的位置,但是当页面很长的时候,或是浏览器窗口大小不是固定的时候就不能正确的显示,所以只好用JS来控制DIV的显示位置。
<script src="http://img.jb51.net/imgby/baidu336.js" type="text/javascript"></script>
<script src="http://img.jb51.net/imgby/baidu234.js" type="text/javascript"></script>
<!-- NEWSZW_HZH_BEGIN-->
首先再次详细解释一下JS中窗口和网页的几种尺寸属性的含义
document.body.clientWidth(网页可见区域宽):是指浏览器显示网页的区域宽度,不包括浏览器的边框宽度和垂直滚动条的宽度。大小随着浏览器的窗口大小而改变。
document.body.clientHeight(网页可见区域高):是指浏览器显示网页的区域所能看到的高度,不包括浏览器的边框宽度和水平滚动条的高度。大小随着浏览器的窗口大小而改变。
document.body.scrollTop(网页被卷去的高):是指拉动垂直滚动条时网页上面被地址栏及菜单栏遮盖着的部分的高。
document.body.scrollLeft(网页被卷去的左):是指拉动水平滚动条时网页左面被左边线遮盖着的部分的宽。
现在我们来分析一下程序该如何实现:
第一步我们要实现的是使层在弹出时绝对居中不去考虑是否有滚动条的情况。
1.计算出层距离显示区域左边和上边的位置
注意:divId指的是所要居中的层,divId.clientWidth为其宽度!@
var divId = document.getElementById("xxx");
var v_left=(document.body.clientWidth-divId.clientWidth)/2;
var v_top=(document.body.clientHeight-divId.clientHeight)/2;
2.把得到的值重新赋给DIV的left和top属性
divId.style.left=v_left;
divId.style.top=v_top;
说明:divId为DIV标签的id值
这样这个层就是居中显示的了。
第二步我们要实现的是使在拖动滚动条的情况下弹出的层也能居中。
其实很简单我们只要把拖动的宽度和高度加到前面计算出来的左边距和上边距中就OK 了。
v_left+=document.body.scrollLeft;
v_top+=document.body.scrollTop;
2.把得到的值重新赋给DIV的left和top属性
divId.style.left=v_left;
divId.style.top=v_top;
这样显示出来就是居中的了。
完整代码如下:
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]
如
果你想在拖动滚动条或是窗口重置大小时,层也能居中显示的话,可以在body的属性里面加上onresize="divcenter();"和
onscroll="divcenter();"就OK了,不过可能显示的效果不是很好,特别是在拖动滚动条时的效果可能是一擅一擅的,忒不爽。
分享到:
相关推荐
JS+CSS 实现弹出居中背景半透明 div 层的方法 在 Web 开发中,弹出居中背景半透明 div 层是一种常见...本文介绍了如何使用 JS+CSS 实现弹出居中背景半透明 div 层的方法,希望对大家的 JavaScript 程序设计有所帮助。
在网页设计中,让一个div元素在页面上弹出并居中是一项常见的需求,尤其是在创建模态对话框、提示信息或者加载窗口时。jQuery作为一个强大的JavaScript库,提供了丰富的功能来简化这种操作。本文将深入探讨如何使用...
总的来说,js弹出div是JavaScript在网页交互中常用的一种技术,它利用了HTML和CSS的组合,结合JavaScript的动态特性,为用户提供了一种自定义且灵活的提示方式。通过不断学习和实践,开发者可以创造出更加符合用户...
在网页设计中,"弹出居中DIV窗口,背景逐渐变暗"是一种常见的用户体验设计手法,常用于创建模态对话框、提示信息或者加载等待效果。这种设计可以使用户更加专注于当前的操作,避免背景内容的干扰。下面将详细介绍...
以上就是关于“jQuery弹出div层窗口、div屏幕居中、背景滤镜效果和div拖拽效果”的核心知识点。通过熟练掌握这些技巧,开发者可以创建更富有互动性和用户体验的网页应用。在实际开发中,还需要根据不同的项目需求,...
"js弹出div效果"是指利用JavaScript控制HTML中的<div>元素动态显示和隐藏,以实现弹窗功能。这种效果可以用于消息提示、用户确认、登录窗口等多种场景,使页面更具交互性和用户体验。 首先,我们需要了解<div>元素...
### JS弹出层居中可移动技术解析 #### 一、引言 在网页开发过程中,弹出层(Modal)是一种常见的交互设计模式,用于在当前页面上展示额外的信息或功能,而无需重新加载页面。其中,弹出层能够居中显示并且可以被...
"JQUERY弹出模式DIV"是指使用jQuery来实现一种常见用户界面设计——模态对话框或者称为弹出窗口。这种功能在网页中很常见,用于显示警告、确认信息或者展示详细内容等。 模态对话框(Modal Dialog)是一种阻止用户...
本资源提供的"JS弹出层,js弹出DIV效果源码下载"是一个运用JQUERY库实现的此类效果。 jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计和Ajax交互。jQuery的核心特性包括选择器、DOM...
1. **原生JavaScript弹出框**:JavaScript提供了三种内置的弹出框:`alert()`、`prompt()`和`confirm()`。这些方法会阻塞页面的执行,直到用户与其交互完毕。 - `alert()`:显示警告消息,用户只能点击"确定"关闭...
在网页设计中,"DIV始终居中的半透明弹出层"是一个常见的需求,它涉及到CSS布局、定位以及透明度设置等多个技术点。下面将详细解释这些知识点。 首先,`DIV`是HTML中的一个块级元素,常用于创建网页布局结构。在本...
下面将详细介绍如何使用js-javascript来实现div层的弹出效果。 首先,我们要明白JavaScript(简称JS)是一种轻量级的解释型编程语言,常用于网页和网络应用的客户端脚本。在网页中,JS可以操作DOM(文档对象模型)...
在JavaScript中,弹出div层并实现锁屏功能是一项常见的前端交互设计,它通常用于创建模态对话框、警告提示或者加载等待效果。这个过程涉及到DOM操作、CSS样式控制以及JavaScript事件处理。下面我们将深入探讨如何...
在JavaScript的世界里,"js划词弹出模态div特效"是一种常见的用户交互设计,它提高了网站的用户体验和互动性。这种技术的核心在于利用JavaScript监听用户的鼠标动作,当用户在网页上选择(划词)文本时,会触发一个...
在本文中,我们将深入探讨如何使用jQuery实现在手机端点击后弹出居中显示的遮罩层,并且这个遮罩层能自适应不同尺寸的屏幕。这个功能在移动设备上的网页设计中非常常见,用于创建诸如提示信息、登录窗口或图片预览等...
另一个文件“myLightBoxFrame.js”很可能是一个自定义的JavaScript脚本,用于处理div的弹出、隐藏以及相关的动画效果。 下面将详细介绍如何实现一个弹出div框架: 1. **HTML结构**:首先,我们需要在HTML中创建一...
这时,"js弹出div消息提示插件"就派上了用场。这种插件允许开发者轻松创建自定义的弹出消息框,而无需依赖于浏览器内置的alert、confirm和prompt函数,从而提供更为灵活且美观的用户体验。 Thinksns是一款开源的...
- JavaScript文件:包含了jQuery插件的核心代码,实现div的弹出和关闭功能。 - HTML文件:可能包含示例页面,用于演示插件的使用方法和效果。 - Demo:实际运行的示例,帮助我们理解如何在项目中应用这个插件。 - ...