`

JS取网页的宽与高-多种情况细细说来

阅读更多

注:以下方法兼容IE6,7, FF3。
下面是取网页的宽与高,情况很复杂,有正文宽高,窗口宽高,可能有滚动条.
有滚动条时正文高一定大于窗口高,
无滚到条时正文高可能小于等于窗口高。
宽度同理,就不说了。


应用1 :用JS取浏览器窗口内侧的宽与高,动态调整页面的宽度(或高度),求:网页可见区域宽(或高),就是下面代码中的Width_4(Height_4)。

应用2 :做一个灰色的DIV蒙层蒙住整个页面,
页面本无滚动条时,DIV蒙层过大,反而会出现滚动条,所以DIV蒙层尺寸一定要精确,用“网页可见区域宽”,就是下面代码中的Width_4(Height_4)。

页面有滚动条时,DIV蒙层还要蒙住滚动动条隐藏起来的部分,用“滚动条宽1”
//DIV蒙层的宽度  Width_1>Width_4?Width_1:Width_4
//DIV蒙层的高度  Height_1>Height_4?Height_1:Height_4

 
var Width_1=document.body.scrollWidth;    //滚动条宽1
var Height_1=document.body.scrollHeight;  //滚动条高1

var Width_2=document.documentElement.scrollWidth;    //滚动条宽2
var Height_2=document.documentElement.scrollHeight;  //滚动条宽2

var Width_3=document.body.clientWidth;   //body正文全文宽3 
var Height_3=document.body.clientHeight; //body正文全文高3

var Width_4=document.documentElement.clientWidth;   //网页可见区域宽,滚动条隐藏部分不算
var Height_4=document.documentElement.clientHeight; //网页可见区域高

var Width_5=window.screen.availWidth;  //屏幕可用工作区宽度(用处不大)
var Height_5=window.screen.availHeight;//屏幕可用工作区高度

//DIV蒙层的宽度  Width_1>Width_4?Width_1:Width_4
//DIV蒙层的高度  Height_1>Height_4?Height_1:Height_4

alert("滚动条宽1 :"+Width_1+",滚动条高1:"+Height_1+
	",\n滚动条宽2:"+Width_2+",滚动条高2:"+Height_2+
	",\nbody正文全文宽3:"+Width_3+",body正文全文高3:"+Height_3+
	",\n网页可见区域宽:"+ Width_4+",网页可见区域高:"+Height_4+
	",\n屏幕可用工作区宽度:"+Width_5+", 屏幕可用工作区高度:"+Height_5
	);


(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关)

下面是从w3school查到的,说的不是很详细

引用


根节点
有两种特殊的文档属性可用来访问根节点:

document.documentElement
document.body
第一个属性可返回存在于 XML 以及 HTML 文档中的文档根节点。

第二个属性是对 HTML 页面的特殊扩展,提供了对 <body> 标签的直接访问。


<script type="text/javascript" language="javascript">
function setStyle()
{
document.getElementById("Test").style.width=document.body.clientWidth;
document.getElementById("Test").style.Hight=window.screen.availHeight;
document.getElementById("checkbox_sizemodellist").style.width=screen.width;
document.getElementById("checkbox_sizemodellist").style.Hight=screen.height;
document.getElementById("checkbox_sizemodellist").style.left=0;
document.getElementById("checkbox_sizemodellist").style.top=0;
}
</script>

网页可见区域宽: document.body.clientWidth
网页可见区域高: document.body.clientHeight
网页可见区域宽: document.body.offsetWidth (包括边线的宽)
网页可见区域高: document.body.offsetHeight (包括边线的高)
网页正文全文宽: document.body.scrollWidth
网页正文全文高: document.body.scrollHeight
网页被卷去的高: document.body.scrollTop
网页被卷去的左: document.body.scrollLeft
网页正文部分上: window.screenTop
网页正文部分左: window.screenLeft
屏幕分辨率的高: window.screen.height
屏幕分辨率的宽: window.screen.width
屏幕可用工作区高度: window.screen.availHeight
屏幕可用工作区宽度: window.screen.availWidth

分享到:
评论

相关推荐

    【Web网页设计制作-毕业设计期末大作业】HTML、CSS、JavaScript前端网页项目源码H20.zip

    【Web网页设计制作-毕业设计期末大作业】HTML、CSS、JavaScript前端网页项目源码【Web网页设计制作-毕业设计期末大作业】HTML、CSS、JavaScript前端网页项目源码【Web网页设计制作-毕业设计期末大作业】HTML、CSS、...

    网页js打开微信小程序js-SDK

    网页js打开微信小程序js-SDK

    HTML5+CSS3+JavaScript网页设计案例课堂-课本源代码.zip

    HTML5、CSS3和JavaScript是构建现代网页的三大核心技术,它们共同构成了网页的结构、样式和交互性。这个"HTML5+CSS3+JavaScript网页设计案例课堂-课本源代码.zip"压缩包很可能是用于教学或自学目的的资源,包含了一...

    Web前端网页设计作业-个人网页(html+css+javascript)

    总的来说,这个项目为初学者提供了一个全面了解Web前端开发的平台,涵盖了从基本页面布局到复杂交互实现的多种技术。通过实践,学习者不仅可以巩固理论知识,还能提升实际开发能力,为未来深入学习前端框架(如React...

    html css js网页设计-Dynamic-Programming.rar

    html css js网页设计-Dynamic-Programming.rar

    常用网页广告大全2-js

    总的来说,"常用网页广告大全2-js"是一个宝贵的资源,它涵盖了网页广告实现的多个方面,对于网页开发者、前端工程师以及对在线广告感兴趣的人员来说,都是一份不可多得的学习资料。通过深入研究这些示例和库,你可以...

    JavaScript应用实例-多种手机适配思路.js

    JavaScript应用实例-多种手机适配思路.js

    网页效果合集3-JS脚本

    "网页效果合集3-JS脚本"是一个集合了多种JavaScript实现的网页特效资源,包括分页效果和翻页效果等,这些都是网页设计中常见的功能,能够提升用户的浏览体验。 首先,我们来探讨一下JavaScript在网页效果中的应用。...

    表白网页-js-jqurey

    总的来说,这个表白网页项目是一个很好的实践机会,对于初学者来说,可以学习到如何使用JavaScript和jQuery来创建动态、交互式的网页;对于有经验的开发者,也是一个展示创意和技术实力的平台。通过这样的实践,可以...

    网页特效代码收集--网站制作

    总结来说,"网页特效代码收集--网站制作"这个资源包涵盖了网页开发中的各种JavaScript特效实现,对于想要提升网站品质和用户体验的开发者来说,是一份非常实用的参考资料。通过学习和应用这些代码,开发者可以创建出...

    javascript经典特效---导航说明效果.rar

    总的来说,"javascript经典特效---导航说明效果"是一个关于使用JavaScript来增强网页导航功能的示例,它可能涉及到下拉菜单、平滑滚动、动态过渡等多种技术。通过学习和实践此类效果,开发者可以提升自己的前端技能...

    网页导航条-div+css+js

    网页导航条-div+css+js网页导航条-div+css+js网页导航条-div+css+js网页导航条-div+css+js网页导航条-div+css+js网页导航条-div+css+js网页导航条-div+css+js网页导航条-div+css+js网页导航条-div+css+js

    bootstrap-table-fixed-columns.js

    总的来说,`bootstrap-table-fixed-columns.js` 是Bootstrap Table库的一个强大补充,它解决了在网页中创建固定列表格的问题,使得用户在滚动浏览长表格时依然能保持关键信息的可见性,提升了交互体验。正确理解和...

    保卫萝卜 网页版 cocos2d-js写的

    这个压缩包文件包含了游戏的源代码,对于学习游戏开发、特别是Cocos2d-js框架的开发者来说,是一份非常有价值的参考资料。 首先,我们需要了解Cocos2d-js的基础知识。Cocos2d-js是一个跨平台的游戏开发框架,它集成...

    Web前端大作业-个人网页(html+css+javascript)

    JavaScript是网页的动态编程语言,它允许网页与用户进行交互,执行实时更新和数据处理。在这个项目中,JavaScript将被用来实现一些功能性的模块,如轮播相册、天气查询和微电影页面。例如,轮播相册可能使用...

    js网页提取_js网页提取VB_

    2. AJAX异步请求:AJAX(Asynchronous JavaScript and XML)允许网页在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容。`XMLHttpRequest`对象是实现AJAX的核心,但现在更常见的是使用`fetch` API,它...

    crypto-js相关js下载地址及说明

    `crypto-js` 是一个流行的JavaScript库,用于加密和解密数据。这个库提供了一系列的密码学算法,使得在浏览器环境中可以实现安全的数据处理。在Web应用中,这尤其有用,因为用户数据的安全传输和存储是至关重要的。 ...

    web网页设计作业-个人网页(html+css+js)

    总的来说,这个“web网页设计作业”是一个实践与学习的完美结合,它鼓励你动手实践,探索HTML、CSS和JavaScript之间的协同工作,从而创造出美观且交互性强的个人网页。对于希望踏入网页设计领域的人来说,这是一个...

    飞鱼天空-网页模版 v1.0-002

    "飞鱼天空-网页模版 v1.0-002"是一款专为网页设计而创建的资源,它集成了多种网页设计元素和布局结构,旨在帮助开发者快速构建具有专业外观和功能的网站。这款模版是源代码形式提供,意味着用户可以自由编辑和定制以...

    opencore-amr-js-master

    通过这个项目,开发者可以轻松地在网页上实现对AMR音频的支持,提高网站的多媒体功能,尤其对于需要语音交互或者电话录音播放的Web应用来说,这是一个非常有价值的工具。同时,由于它还支持MP3到AMR的转换,这为处理...

Global site tag (gtag.js) - Google Analytics