`

javascript:浮动div,可拖拽div,遮罩层(div和iframe实现)

阅读更多

在网页中,经常需要标题里提到的几种效果,实现比较简单,这里总结一下(IE测试通过),以备日后再用。
预备知识:网页中的高和宽


//获取浏览器的宽和高(多种浏览器)
functiongetNavWidthandHeightInfo()
{
vars="";
s
+="网页可见区域宽:"+document.body.clientWidth;
s
+="网页可见区域高:"+document.body.clientHeight;
s
+="网页可见区域宽:"+document.body.offsetWidth+"(包括边线和滚动条的宽)";
s
+="网页可见区域高:"+document.body.offsetHeight+"(包括边线的宽)";
s
+="网页正文全文宽:"+document.body.scrollWidth;
s
+="网页正文全文高:"+document.body.scrollHeight;
s
+="网页被卷去的高(ff):"+document.body.scrollTop;
s
+="网页被卷去的高(ie):"+document.documentElement.scrollTop;
s
+="网页被卷去的左:"+document.body.scrollLeft;
s
+="网页正文部分上:"+window.screenTop;
s
+="网页正文部分左:"+window.screenLeft;
s
+="屏幕分辨率的高:"+window.screen.height;
s
+="屏幕分辨率的宽:"+window.screen.width;
s
+="屏幕可用工作区高度:"+window.screen.availHeight;
s
+="屏幕可用工作区宽度:"+window.screen.availWidth;
s
+="你的屏幕设置是:"+window.screen.colorDepth+"位彩色";
s
+="你的屏幕设置:"+window.screen.deviceXDPI+"像素/英寸";
s += "当前窗口的内部宽度:"+ window.innerWidth;
s += "当前窗口的内部高度:"+ window.innerHeight;
//alert(s);
}
getNavWidthandHeightInfo();

另外,网页中的元素常见定位需要用到的概念一并总结一下:


HTML中的元素定位:

scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离

scrollWidth:获取对象的滚动宽度
scrollHeight:获取对象的滚动高度

offsetLeft:获取对象相对于版面或由offsetParent属性指定的父坐标的计算左侧位置
offsetTop:获取对象相对于版面或由offsetParent属性指定的父坐标的计算顶端位置
offsetHeight:获取对象相对于版面或由父坐标offsetParent属性指定的父坐标的高度

event.clientX相对文档的水平座标
event.clientY相对文档的垂直座标

event.offsetX相对容器的水平坐标
event.offsetY相对容器的垂直坐标

document.documentElement.scrollTop垂直方向滚动的值

event.clientX+document.documentElement.scrollTop相对文档的水平座标+垂直方向滚动的量

(注意:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关)

来看一下笔者写的关于定位和关于宽和高的js函数:


/*关于位置(前面两种常用)*/

//1.取鼠标的位置(Coordinate坐标x和y)兼容IE,FF和其他主流浏览器(onmouseover="getMouseCoordinate(event)")
functiongetMouseCoordinate(ev){
vare=ev?ev:(window.event?window.event:null);
if(e.pageX||e.pageY){
alert(
"x:"+e.pageX+"--y:"+e.pageY);
}
else{
alert(
"x:"+event.x+"--y:"+event.y);
}
}

//2.通过控件获取控件在页面的位置(oControl是控件)
functiongetControlCoordinateByControl(oControl){
varleftPos=oControl.offsetLeft;
vartopPos=oControl.offsetTop;
varheight=oControl.offsetHeight;
while(oControl=oControl.offsetParent){
leftPos
+=oControl.offsetLeft;
topPos
+=oControl.offsetTop;
}
alert(
"x:"+leftPos+"--y:"+topPos);
}

//3.通过控件自身取得控件的宽和高,返回width和height
functiongetControlWidthAndHeightByControl(oControl){
//varwidth=oControl.style.width;
//varheight=oControl.style.height;
varwidth=oControl.offsetWidth;
varheight=oControl.offsetHeight;
alert(
"width:"+width+"--height:"+height);
}


PS:关于dom的一些高和宽,下面这张图有助于我们理解的更清楚:

好了,您猜我一定又会说,“Code is cheap.",没错,看代码先:全文链接:

javascript:浮动div,可拖拽div,遮罩层(div和iframe实现)

分享到:
评论

相关推荐

    javascript浮动div,可拖拽div,遮罩层(div和iframe实现)

    根据提供的文件信息,我们可以归纳出...通过以上知识点的介绍,我们可以了解到 JavaScript 结合 HTML 和 CSS 在实现浮动 Div、可拖拽 Div 以及遮罩层等方面的应用。这些技术不仅增强了网页的交互性,还提升了用户体验。

    div,iframe拖动功能

    在网页开发中,实现元素的拖动功能是一项常见的交互设计,尤其在构建用户界面时,如div和iframe的拖动可以提升用户体验。本教程将详细讲解如何为div和iframe元素添加拖动功能。 首先,我们需要了解HTML中的div和...

    javascript窗体类似div窗体iframe+div窗体

    2. **模拟弹出窗口**:利用div,我们可以创建可拖动、可关闭的浮动窗体,通过JavaScript监听用户的鼠标事件来实现这些功能。 3. **内容隔离**:IFrame可以提供一种内容隔离机制,使得一个页面的不同部分不会互相...

    弹出DIV可拖动窗口示例(编辑窗口/iframe/等待/确认)

    "弹出DIV可拖动窗口示例(编辑窗口/iframe/等待/确认)"是针对这种需求的一种实现,它结合了多种技术来提供更丰富的用户体验。让我们详细探讨一下这个示例中的关键知识点。 首先,"弹出DIV窗口"指的是使用HTML `<div>...

    js遮罩效果,基于jQuery (1.3.2)

    "ThickBox 3_1_files"和"javascript浮动div,可拖拽div,遮罩层(div和iframe实现) - 快乐思考,静心编程 - 博客园_files"则可能包含了这些效果所需的CSS、JavaScript和其他辅助文件。 通过学习和理解这些文件,...

    JS打开关闭移动层动画实例

    本示例通过JavaScript实现了div元素的显示、隐藏及拖动功能。这在网页交互设计中非常实用,能够帮助用户更好地操作页面上的浮动窗口或者菜单等组件。 #### 二、核心功能点 ##### 1. 初始化设置 - **menuPoint**:...

    div 最上层锁定页面

    这类插件通常会用到JavaScript或者jQuery来动态创建和管理div元素,使其在页面上浮动显示,并提供关闭、拖动等功能。源码分析可以帮助我们理解如何用JS实现这样的交互效果。 `readme.txt`和`changelog.txt`通常包含...

    jquey弹出层背景置灰不能操作实例

    1. **jQuery 弹出层**:jQuery 弹出层通常是通过创建一个在页面上浮动的div来实现的。这个div可以包含任何内容,如文本、图像或表单。在这个实例中,我们有两个例子,分别展示了不同的弹出层效果。 2. **CSS 样式...

    js 弹出窗口

    4. **拖动功能**:为了让弹出窗口可拖动,需要监听鼠标的`mousedown`、`mousemove`和`mouseup`事件。当鼠标按下时记录初始坐标,然后在鼠标移动时更新窗口的位置,最后鼠标释放时停止更新。通过修改`div`的`top`和`...

    JS实现可缩放、拖动、关闭和最小化的浮动窗口完整实例

    在JavaScript编程中,创建一个可缩放、拖动、关闭和最小化的浮动窗口是一项常见的需求,这在网页设计和富客户端应用中尤为实用。本文将详细介绍如何使用纯JS实现这样的功能,无需依赖任何第三方库。 首先,我们来看...

    JQuery Dialog(JS 模态窗口,可拖拽的DIV)

    在JQuery Dialog中,我们通常使用浮动的`div`元素来创建这个窗口,通过CSS样式进行定制,使其具有所需的外观和行为。窗口内的内容可以通过`iframe`来加载,使得内容可以动态地切换,而无需刷新整个页面。 JQuery ...

    jquery 弹出层,点击链接弹出,不支持框架

    但是,由于其设计和实现,可能无法很好地与现代网页开发技术(如Bootstrap、Vue.js、React等)或新的浏览器特性相集成。 如果你遇到不支持greybox的情况,有以下几个解决方案: 1. **寻找替代品**:有很多现代的...

    50个jqery插件

    12. **Inner Fade**:可使网页元素产生淡化效果,增加页面动画感。 13. **Easing Plugin**:另一个简单但强大的过渡效果插件,可以实现平滑的动画效果。 14. **Highlight Fade**:高亮并逐渐消失的效果,常用于...

    jQuery弹出层插件大全

    3. **FancyBox**: FancyBox是一款高级的弹出层插件,具有丰富的视觉效果和动画,适合创建高质量的图片、视频和IFRAME预览。它允许自定义样式和行为,提供多种展示模式,如图片、HTML内容和Ajax。 4. **jQuery UI ...

    超实用的jQuery代码段

    7.27 实现可拖动显示的图片 第8章 jQuery实现AJAX 8.1 动态加载外部文件 8.2 动态加载外部网页 8.3 加载网页文件内容并传递服务器端参数 8.4 使用AJAX刷新删除网页记录 8.5 使用AJAX异步验证用户名和密码 8.6 页面...

    web前端笔试面试

    - 通过调整不同层的速度差异来实现。 **33. ::before和:after中双冒号与单冒号的区别?** - **单冒号** (`:after`): 所有浏览器都支持。 - **双冒号** (`::after`): 标准语法,IE8及以下不支持。 **34. 修改自动...

    前端工程师面试题手册.pdf

    清除浮动有多种方法,如使用伪元素清除浮动、使用`overflow`属性或定义一个空的div使用`clear`属性。 #### 盒模型介绍 盒模型是一个用于网页布局的模型,包括元素的内容(content)、内边距(padding)、边框...

Global site tag (gtag.js) - Google Analytics