js中获取窗口高度的方法

时间:2022-08-24 12:20:34

取窗口滚动条滚动高度

function getScrollTop()
{
var scrollTop=0;
if(document.documentElement&&document.documentElement.scrollTop)
{
scrollTop=document.documentElement.scrollTop;
}
else if(document.body)
{
scrollTop=document.body.scrollTop;
}
return scrollTop;
}

取窗口可视范围的高度

function getClientHeight()
{
var clientHeight=0;
if(document.body.clientHeight&&document.documentElement.clientHeight)
{
var clientHeight = (document.body.clientHeight<document.documentElement.clientHeight)?document.body.clientHeight:document.documentElement.clientHeight;
}
else
{
var clientHeight = (document.body.clientHeight>document.documentElement.clientHeight)?document.body.clientHeight:document.documentElement.clientHeight;
}
return clientHeight;
}

取文档内容实际高度

function getScrollHeight()
{
return Math.max(document.body.scrollHeight,document.documentElement.scrollHeight);
}
////////////////////////////////////////////////////

在IE中:

document.body.clientWidth ==> BODY对象宽度

document.body.clientHeight ==> BODY对象高度

document.documentElement.clientWidth ==> 可见区域宽度

document.documentElement.clientHeight ==> 可见区域高度

document.documentElement.scrollTop =>窗口滚动条滚动高度

在FireFox中:

document.body.clientWidth ==> BODY对象宽度

document.body.clientHeight ==> BODY对象高度

document.documentElement.clientWidth ==> 可见区域宽度

document.documentElement.clientHeight ==> 可见区域高度

document.documentElement.scrollTop =>窗口滚动条滚动高度

在chrome中:

document.body.clientWidth ==> BODY对象宽度

document.body.clientHeight ==> BODY对象高度

document.documentElement.clientWidth ==> 可见区域宽度

document.documentElement.clientHeight ==> 可见区域高度

document.body.scrollTop =>窗口滚动条滚动高度

在Opera中:

document.body.clientWidth ==> 可见区域宽度

document.body.clientHeight ==> 可见区域高度

document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)

document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高

滚动到顶部 window.scrollTo(0,0)

滚动到尾部 window.scrollTo(0,document.body.clientHeight)



js计算滚动条高度及窗口高度

//页面位置及窗口大小

function GetPageSize() {

var scrW, scrH;

if(window.innerHeight

&& window.scrollMaxY)

{ // Mozilla

scrW =

window.innerWidth + window.scrollMaxX;

scrH = window.innerHeight +

window.scrollMaxY;

}

else if(document.body.scrollHeight >

document.body.offsetHeight)

{ // all but IE Mac

scrW =

document.body.scrollWidth;

scrH = document.body.scrollHeight;

} else

if(document.body)

{ // IE Mac

scrW = document.body.offsetWidth;

scrH = document.body.offsetHeight;

}

var winW, winH;

if(window.innerHeight)

{ // all except IE

winW =

window.innerWidth;

winH = window.innerHeight;

} else if

(document.documentElement &&

document.documentElement.clientHeight)

{ // IE 6 Strict Mode

winW =

document.documentElement.clientWidth;

winH =

document.documentElement.clientHeight;

} else if (document.body) { //

other

winW = document.body.clientWidth;

winH =

document.body.clientHeight;

} // for small pages with total size less

then the viewport

var pageW = (scrW<winW) ? winW : scrW;

var pageH =

(scrH<winH) ? winH : scrH;

return {PageW:pageW, PageH:pageH,

WinW:winW, WinH:winH};

};

//滚动条位置

function GetPageScroll()

{

var x, y;

if(window.pageYOffset)

{ // all except IE

y =

window.pageYOffset;

x = window.pageXOffset;

} else

if(document.documentElement && document.documentElement.scrollTop)

{ // IE 6 Strict

y = document.documentElement.scrollTop;

x

= document.documentElement.scrollLeft;

} else if(document.body) { // all

other IE

y = document.body.scrollTop;

x =

document.body.scrollLeft;

}

return {X:x,

Y:y};

}


jQuery

获取浏览器显示区域的高度 :

$(window).height();

获取浏览器显示区域的宽度 :$(window).width();

获取页面的文档高度

:$(document).height();

获取页面的文档宽度 :$(document).width();

获取滚动条到顶部的垂直高度

:$(document).scrollTop();

获取滚动条到左边的垂直宽度 :$(document).scrollLeft();


计算元素位置和偏移量

offset方法是一个很有用的方法,它返回包装集中第一个元素的偏移信息。默认情况下是相对body的偏移信息。结果包含 top和left两个属性。

offset(options, results)

options.relativeTo  指定相对计

算偏移位置的祖先元素。这个元素应该是relative或absolute定位。省略则相对body。

options.scroll  是否把

滚动条计算在内,默认TRUE

options.padding  是否把padding计算在内,默认false

options.margin

  是否把margin计算在内,默认true

options.border  是否把边框计算在内,默认true

http://www.cnblogs.com/hoojo/archive/2012/02/16/2354663.html

alert($(window).height()); //浏览器当前窗口可视区域高度

alert($(document).height()); //浏览器当前窗口文档的高度

alert($(document.body).height());//浏览器当前窗口文档body的高度

alert($(document.body).outerHeight(true));//浏览器当前窗口文档body的总高度 包括border padding margin

alert($(window).width()); //浏览器当前窗口可视区域宽度

alert($(document).width());//浏览器当前窗口文档对象宽度

alert($(document.body).width());//浏览器当前窗口文档body的高度

alert($(document.body).outerWidth(true));//浏览器当前窗口文档body的总宽度 包括border padding margin

// 获取页面的高度、宽度

function getPageSize() {

var xScroll, yScroll;

if (window.innerHeight && window.scrollMaxY) {

xScroll = window.innerWidth + window.scrollMaxX;

yScroll = window.innerHeight + window.scrollMaxY;

} else {

if (document.body.scrollHeight > document.body.offsetHeight) { // all but Explorer Mac

xScroll = document.body.scrollWidth;

yScroll = document.body.scrollHeight;

} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari

xScroll = document.body.offsetWidth;

yScroll = document.body.offsetHeight;

}

}

var windowWidth, windowHeight;

if (self.innerHeight) { // all except Explorer

if (document.documentElement.clientWidth) {

windowWidth = document.documentElement.clientWidth;

} else {

windowWidth = self.innerWidth;

}

windowHeight = self.innerHeight;

} else {

if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode

windowWidth = document.documentElement.clientWidth;

windowHeight = document.documentElement.clientHeight;

} else {

if (document.body) { // other Explorers

windowWidth = document.body.clientWidth;

windowHeight = document.body.clientHeight;

}

}

}

// for small pages with total height less then height of the viewport

if (yScroll < windowHeight) {

pageHeight = windowHeight;

} else {

pageHeight = yScroll;

}

// for small pages with total width less then width of the viewport

if (xScroll < windowWidth) {

pageWidth = xScroll;

} else {

pageWidth = windowWidth;

}

arrayPageSize = new Array(pageWidth, pageHeight, windowWidth, windowHeight);

return arrayPageSize;

}

// 滚动条
document.body.scrollTop;
$(document).scrollTop();

js中获取窗口高度的方法的更多相关文章

  1. 关于JS中获取浏览器高度和宽度值的多种方法&lpar;多浏览器&rpar;

    三种浏览器获取值方法 IE中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 ...

  2. JS中获取CSS样式的方法

    1.对于内联样式,可以直接使用ele.style.属性名(当然也可以用键值对的方式)获得.注意在CSS中单词之间用-连接,在JS中要用驼峰命名法 如 <div id="dv" ...

  3. js中获取事件对象的方法小结

    原文地址:http://jingyan.baidu.com/article/d8072ac4594d6cec95cefdac.html 事件对象 的获取很简单,很久前我们就知道IE中事件对象是作为全局 ...

  4. jsp中的js中获取项目路径的方法

    在jsp中加上 <% String path = request.getContextPath(); String basePath = request.getScheme()+":/ ...

  5. js中获取一个对象里面的方法和属性的javascript

    <script type="text/javascript"> var obj = { attribute:1, method:function() { alert(& ...

  6. js中获取css属性

    直接获取 window.onload = function() { var but = document.getElementById('button'); var div = document.ge ...

  7. JS获取div高度的方法

    有时在写页面时,需要获取一个div的高度.怎么才能获取呢?哈哈,先上结论.有两种方法. offsetHeight .clientHeight getComputedStyle offsetHeight ...

  8. js中获取 table节点各tr及td的内容方法

    js中获取 table节点各tr及td的内容方法 分类: java基础2013-10-12 17:54 1055人阅读 评论(0) 收藏 举报 <table id="tb1" ...

  9. 判断js中各种数据的类型方法之typeof与0bject&period;prototype&period;toString讲解

    提醒大家,Object.prototype.toString().call(param)返回的[object class]中class首字母是大写,像JSON这种甚至都是大写,所以,大家判断的时候可以 ...

随机推荐

  1. &lbrack;LintCode&rsqb; Maximum Subarray 最大子数组

    Given an array of integers, find a contiguous subarray which has the largest sum. Notice The subarra ...

  2. salesforce 零基础学习(四十三)运算取余

    工作中遇到一个简单的小问题,判断两个数是否整除,如果不整除,获取相关的余数. 习惯java的我毫不犹豫的写下了代码 public Boolean isDivisibility(Integer divi ...

  3. C&num;&plus;arcengine10&period;0&plus;SP5实现鹰眼(加载的是mdb数据库中的数据)

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  4. css3实现switch开关效果

    之前阿里电面的时候问的一个问题,今天抽时间做了个demo. html结构 <div class="container"> <div class="bg_ ...

  5. sql server 中 bigint 和 datetime 性能比较

    -- 创建表 create table Test_tbl ( ID varchar(40) primary key nonclustered, IntCol int, DateCol datetime ...

  6. HDU-3787(字符串模拟)

    Problem Description 给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开.现在请计算A+B的结果,并以正常形式输出.   Input 输入包含 ...

  7. Jexus &plus; Kestrel 部署 asp&period;net core

    结合Jexus + Kestrel 部署 asp.net core 生产环境 ASP.NET Core 是微软的全新的框架.这一框架的目标 ︰ 跨平台 针对云应用优化 解除 System.Web 的依 ...

  8. 【Cocos2d-X开发笔记】第一期 Cocos2d-X的环境搭建

          作者今天开始正式开始学习Cocos2d-X引擎进行游戏编程,预计两天会更新一期,最后实现ios游戏的appsore上线. (部分内容转载自:http://blog.csdn.net/yan ...

  9. 第三题 有如下Student&&num;160&semi;对象, &&num;160&semi;private&&num;160&semi;String&&num;160&semi;name&semi;&&num;160&semi;&&num;160&semi; &&num;160&semi;&&num;160&semi;&&num;160&semi;&&num;160&semi;private&&num;160&semi;int&&num;160&semi;age&semi;&&num;160&semi;&&num;160&semi; &&num;160&semi;&&num;160&semi;&&num;160&semi;&&num;160&semi;private&&num;160&semi;int&&num;160&semi;score&semi;&&num;160&semi;&&num;160&semi; private&&num;160&semi;String&&num;160&semi;classNum&semi;&&num;160&semi; 其中,classNum&

    //Student package zuoye; public class Student { private String name; private int age; private int sc ...

  10. 权限大全-linux基础

    一.文件权限 (1)文件的权限主要针对三类对象定义: u:属主,owner    g:属组,group    o:其他,other    权限有三种:    r:可读    w:可写    x:可执行 ...