请问如何通过jquery获取页面内容的高度?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问如何通过jquery获取页面内容的高度?相关的知识,希望对你有一定的参考价值。

使用document.body.height 或 document.body.scrollHeight都只能获取页面的实际高度; 可我写的页面,其中的数据是在页面加载之后,通过ajax获取并写在页面写上的;

1.方法如下:
获取浏览器显示区域(可视区域)的高度 :
$(window).height();
获取浏览器显示区域(可视区域)的宽度 :
$(window).width();
获取页面的文档高度
$(document).height();
获取页面的文档宽度 :
$(document).width();
浏览器当前窗口文档body的高度:
$(document.body).height();
浏览器当前窗口文档body的宽度:
$(document.body).width();
获取滚动条到顶部的垂直高度 (即网页被卷上去的高度)
$(document).scrollTop();
获取滚动条到左边的垂直宽度 :
$(document).scrollLeft();
获取或设置元素的宽度:
$(obj).width();
获取或设置元素的高度:
$(obj).height();
某个元素的上边界到body最顶部的距离:obj.offset().top;(在元素的包含元素不含滚动条的情况下)
某个元素的左边界到body最左边的距离:obj.offset().left;(在元素的包含元素不含滚动条的情况下)
返回当前元素的上边界到它的包含元素的上边界的偏移量:obj.offset().top(在元素的包含元素含滚动条的情况下)
返回当前元素的左边界到它的包含元素的左边界的偏移量:obj.offset().left(在元素的包含元素含滚动条的情况下)

2.代码如下:

//返回当前页面高度
function pageHeight()
if($.browser.msie)
return document.compatMode == "CSS1Compat"? document.documentElement.clientHeight :
document.body.clientHeight;
else
return self.innerHeight;

;
//返回当前页面宽度
function pageWidth()
if($.browser.msie)
return document.compatMode == "CSS1Compat"? document.documentElement.clientWidth :
document.body.clientWidth;
else
return self.innerWidth;

;
参考技术A 在ajax执行之后再获取一下页面内容的高度,如果使用的是jquery的ajax,提供了回调函数,
$.ajax(
success: function()

//这里写代码

;

);本回答被提问者采纳
参考技术B 输出后再获取页面高度

使用JQuery的.ajax()提交表单后当前页面表单内容被清空,请问如何保留数据?

使用JQuery的.ajax()提交表单后当前页面表单内容被清空,请问如何保留数据?以下是我的代码:
JS:
$.ajax(
cache : false,
type : "POST",
url : appPath + "/UserServlet?method=signIn",
data : $('#signInForm').serialize(),
dataType : "json",
async : false,
error : function(data)
alert("网络异常!");
,
success : function(data)
if (data.recode == "0000")
location.href = appPath + "/index.html";
else
alert(data.msg);


);

HTML:
<form name="signInForm" id="signInForm" action="" method="post">
<div>用户名/邮箱</div>
<div>
<input type="text" name="username" id="username" />
</div>
<div>密码</div>
<div>
<input type="password" name="password" id="password" />
</div>
<div>
<input type="button" value="登录" onclick="signIn()" />
<input type="button" value="注册" onclick="signUp()" />
</div>
</form>

参考技术A 页面是不是重定向刷新了:location.href。
刷新以后数据肯定是被清空了的。

可以考虑用cookies保存。本回答被提问者采纳
参考技术B

看样子你要的功能是,注册完成跳转到主页,然后输入框内自动带上注册时填入的username。

    ajax是为了不刷新页面,你的ajax接了一个重定向,设计可能有问题。既然要重定向,可以考虑直接post到servlet中,再跳入index.jsp而非index.html,在jsp中取值,逻辑比较好理解。

    不进servlet的话。如果你要传递的是短文本值,可以考虑写cookie。传值无非是get post session cookie之类的,选一个合适的就行。你这种需求可以在url后面直接加参数,类似index.html?username=aaa,再去html中用js来处理,可防止cookie被禁用。

    一家之言,欢迎指正。

参考技术C 一般登陆信息会保存在session里面。

以上是关于请问如何通过jquery获取页面内容的高度?的主要内容,如果未能解决你的问题,请参考以下文章

CSS+DIV怎么实现网页左右两栏高度一致?

请问在用swiper做手机页面的时候如何设置页面高度随着显示内容而变化?谢谢了,大神帮忙啊

javascript 如何获取iframe里面的内容?

jquery通过load获取文件的内容并跳到锚点的方法

如何使用 jQuery 获取 div 全部内容的高度?

请问下jq如何给某个div的高度赋值?