JS关于scrollTop和可视区域clientWidth
一、scrollTop,scrollLeft
要获得页面的scrollTop及scrollLeft,在不同的浏览器中是不一样的:
谷歌浏览器和没声明DTD的文档,通过document.body.scrollTop;来获得
火狐和其他浏览器,通过document.documentElement.scrollTop;来获得
ie9+和最新的浏览器 均可以通过window.pageYOffset;来获得
综上,可以封装如下访问方法:
<script>
function scrollJson() {
if(window.pageYOffset != null) {//ie9+及其他浏览器
return {
left: window.pageXOffset,
top: window.pageYOffset
}
}
else if (document.compatMode == "CSS1Compat"){//声明了DTD
return {
left: document.documentElement.scrollLeft,
top: document.documentElement.scrollTop
}
}
return {
left: document.body.scrollLeft,
top: document.body.scrollTop
}
} window.onscroll = function () {
console.log(scrollJson());
}
</script>
二、同理,可以获得可视区域
function clientSize(){
if(window.innerWidth != null) {
return {
width: window.innerWidth,
height: window.innerHeight
}
}
else if(document.compatMode == "CSS1Compat") {
return {
width: document.documentElement.clientWidth,
height: document.documentElement.clientHeight
}
}
return {
width: document.body.clientWidth,
height: document.body.clientHeight
}
}
JS关于scrollTop和可视区域clientWidth的更多相关文章
- js获取网页屏幕可视区域高度
document.body.clientWidth ==> BODY对象宽度document.body.clientHeight ==> BODY对象高度document.document ...
- js获取浏览器窗口可视区域大小
获得浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)的方法: 一.对于IE9+.Chrome.Firefox.Opera 以及 Safari: • window.innerHeight - 浏 ...
- js可视区域图片懒加载
可视区域图片懒加载 实现原理,页面滚动时获取需要懒加载的图片,判断此图片是否在可视区域内,是则设置图片data-src地址为src地址,加载图片. html下载地址 <!DOCTYPE html ...
- 图解js中常用的判断浏览器窗体、用户屏幕可视区域大小位置的方法
有时我们需要获得浏览器窗口或屏幕的大小.窗口下拉框下拉的距离等数据,对应这些需求,js中提供了不少解决方法,只是数量稍多容易混淆它们各自的意义,下面咱们用图例来解释下12个常见对象属性的作用. 其中有 ...
- js获取可视区域高度
document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.docume ...
- JS获取浏览器可视区域的尺寸
所谓可视区域是指能看得见的区域,即在浏览器中能看到页面的区域(高度与宽度).刚刚使用 document.body.clientHeight 来获取可视区域的高度得到的却是整个文档的高度,然后在cnbl ...
- js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
获取浏览器窗口的可视区域高度和宽度,滚动条高度有需要的朋友可参考一下.IE中,浏览器显示窗口大小只能以下获取: 代码如下复制代码 代码如下: document.body.offsetWidth doc ...
- js 获取页面可视区域宽高
获取浏览器窗口的可视区域高度和宽度,滚动条高度有需要的朋友可参考一下. 1.IE中,浏览器显示窗口大小只能以下获取: 代码如下复制代码 代码如下 document.body.offsetWidth d ...
- js 判断一个元素是否在滚动的可视区域内,不在就固定到可视区域的上方。
前言:最近工作中,有这样一个场景,判断一个元素是否在滚动的可视区域内,不在就固定到可视区域的上方.为了以后再次遇到,所以记录下来,并分享.转载请注明出处:https://www.cnblogs.com ...
随机推荐
- BZOJ 1115 [POI2009]石子游戏Kam(阶梯博弈)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1115 [题目大意] 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数. ...
- 【递推+高精度】POJ2506-Tiling
思路别人那里讲的很清楚了,我就不阐述了.链接 #include<iostream> #include<cstdio> #include<cmath> #includ ...
- java笔记之方法
一.那么什么是方法呢? 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 二.方法的优点 ...
- php读取超大文件fseek
function readMaxFile($fp , $start = 0) { $tag = "\n"; $i = 0; $content = ''; while($i < ...
- 新浪微博宋琦:PHP在微博优化中的“大显身手”
摘要:2013中国软件开发者大会编程语言与工具专题论坛中,新浪微博架构师宋琦介绍了PHP在新浪微博中的应用,并且分享了很多微博主站所做的性能优化的工作. [CSDN报道] 2013中国软件开发者大会( ...
- Eclipse环境安装rust
参考 https://rustdt.github.io/ https://github.com/RustDT/RustDT/blob/latest/documentation/UserGuide.md ...
- loadrunner的Analysis怎么生成word、ppt、html形式报告
原文:http://jingyan.baidu.com/article/03b2f78c1936d25ea237ae0f.html 在进行使用loadrunner中进行压力测试之后就会在Analysi ...
- 花间美人:古风 CG插画技法
<花间美人:古风 CG插画技法> 基本信息 作者: 猫君大白 出版社:机械工业出版社 ISBN:9787111429432 上架时间:2013-7-3 出版日期:2013 年7月 开 ...
- !!! # @ --- ODATA 云驱动 --- 数据库发布 RESTFUL API
Cloud Drivers ODATA 云驱动 http://www.cdata.com/cloud/ Makes on-premise & cloud data sources ea ...
- ylbtech-LanguageSamples-OperatorOverLoading(运算符重载)
ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-OperatorOverLoading(运算符重载) 1.A,示例(Sample) 返回 ...