javascript如何获得网页可见区域的高度(不包括被滚动条卷去的内容) 就是你能看到的网页内容的高度

网页可见区域高度我知道varclientHeight=document.body.clientHeight?document.body.client:document.d... 网页可见区域高度我知道
var clientHeight=document.body.clientHeight?document.body.client:document.documentElement.clientHeight
但是还要减去滚动条卷去的高度,在开始载入页面的时候这个值是0,有什么办法可以获得这个高度的,知道的请帮帮忙
展开
 我来答
searchspider
推荐于2018-04-24 · TA获得超过171个赞
知道答主
回答量:62
采纳率:0%
帮助的人:96.2万
展开全部
你可以参考下面这个函数,这个函数是获取完整页面尺寸的函数颂芦(即你说的浏览器能看到野局带的区腊厅域,不包括被滚动条卷去的区域)
-----------------------------js代码---------------------------------------------------------
<script>
function GetPageSize(){
var xScroll, yScroll;
if (window.innerHeight && window.scrollMaxY) {
xScroll = document.body.scrollWidth;
yScroll = window.innerHeight + window.scrollMaxY;
} else if (document.body.scrollHeight > document.body.offsetHeight){
xScroll = document.body.scrollWidth;
yScroll = document.body.scrollHeight;
} else {
xScroll = document.body.offsetWidth;
yScroll = document.body.offsetHeight;
}
var windowWidth, windowHeight;
if (self.innerHeight) {
windowWidth = self.innerWidth;
windowHeight = self.innerHeight;
} else if (document.documentElement && document.documentElement.clientHeight) {
windowWidth = document.documentElement.clientWidth;
windowHeight = document.documentElement.clientHeight;
} else if (document.body) {
windowWidth = document.body.clientWidth;
windowHeight = document.body.clientHeight;
}
if(yScroll < windowHeight){
pageHeight = windowHeight;
} else {
pageHeight = yScroll;
}
if(xScroll < windowWidth){
pageWidth = windowWidth;
} else {
pageWidth = xScroll;
}
arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
return arrayPageSize;
}
alert(GetPageSize());
</script>
碎片知识杂货铺
2011-12-07 · 碎片知识杂货铺,仅供参考
碎片知识杂货铺
采纳数:458 获赞数:4216

向TA提问 私信TA
展开全部
没有写过相关的,看看下面的解释和内容能不能帮到你:
摘自:http://blog.sina.com.cn/s/blog_4678e7630100tjol.html
javascript中如何判断dom对象是否出现了滚动条,及滚动的数稿返磨值:
  某些场景下需要用javascript去获取页面中的某个dom对象是否出现了滚动条,
  那么javascript的dom操作为我们提供了哪些方法可以得到呢?
  参考DHTML手册会发现:
  dom对象有offsetTop和 offsetLeft属性,
  它们所获得的值是当前滚动条所滚动的数值;
  当滚动条没有滚动或者没有出现的时候,
  这两个值都是0。
  dom对象还有属性:offsetHeight和 scrollHeight,
  offsetHeight是dom对象相对父级元素的可见高度,
  scrollHeight 是dom对象包含了滚动部分的高度。
  有了上述的四个基本属性,
  那么我们可以尝试进行判世判断(当然以下的判断是在没有设置css样式:overflow:hidden的情况下的):
  当dom对象offsetTop > 0的时候,说明滚动条已经存在了;
  另外,如果scrollHeight > offsetHeight即包含滚动部分的高度超出可视高度的时候,
  滚动条即已出现。
  综合上述两条可以得出以下结论:
  if (dom.offsetTop > 0 || dom.scrollHeight > dom.offsetHeight) {
  //键斗滚动条已出现
  }
  当然,
  是不是只有这两个条件可以判断滚动条是否存在呢?
  如有朋友有更好的方法,可点击本文后面的“我要留言”给我留言,
  感谢赐教~
js获得滚动条位置
注意body的使用
function getScroll()
{
var t, l, w, h;
if (document.documentElement && document.documentElement.scrollTop) {
t = document.documentElement.scrollTop;
l = document.documentElement.scrollLeft;
w = document.documentElement.scrollWidth;
h = document.documentElement.scrollHeight;

} else if (document.body) {
t = document.body.scrollTop;
l = document.body.scrollLeft;
w = document.body.scrollWidth;
h = document.body.scrollHeight;
}
return { t: t, l: l, w: w, h: h };
}
获取浏览器垂直滚动条向下滚动的像素
  关于js中 document.body.scrollTop 不能返回正确值的原因 收藏
  本来是为了通过 document.body.scrollTop来获取浏览器垂直滚动条向下滚动的像素,但是不管滚动条在什么位置总是返回是0,造成这样的原因和 html的头部声明有关,如果头部声明 为:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">,这样肯定得到的结果是 0,如果该为<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">就能得到正确的结果,对于第一种头部声明想要得滚动条的滚动的高度怎么办,解决方法有两种
  1、var scrollPos; if (typeof window.pageYOffset != 'undefined') { scrollPos = window.pageYOffset; } else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') { scrollPos = document.documentElement.scrollTop; } else if (typeof document.body != 'undefined') { scrollPos = document.body.scrollTop; }
  2、用document.documentElement.scrollTop 替代 document.body.scrollTop
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式