<script type="text/javascript">

        //文档高度1016 包含隐藏的margin和padding 实际1000
//文档1000
//窗口高度为530时候, 滚动条 最小0, 最大高度为470 (加上隐藏margin和padding 为486)
//窗口高度为151时候, 滚动条 最小0, 最大高度为849
//窗口高度为200时候, 滚动条 最小0, 最大高度为800
//窗口高度为500时候, 滚动条 最小0, 最大高度为500
//说明1, 文档高度不变 窗口高度越小,滚动条高度越大,
//说明2, 文档高度不变 窗口高度越大,滚动条高度越小,
// 文档高度 - 窗口高度 = 滚动条最大高度(拉到底) //作为一个对象的w和h属性返回视口的尺寸
function getViewportSize(w) {
//使用指定的窗口, 如果不带参数则使用当前窗口
w = w || window; //除了IE8及更早的版本以外,其他浏览器都能用
if (w.innerWidth != null) //能获取当前窗口的宽度(包含滚动条)//当浏览器宽度调整时,这个值也会跟着变化
return { w: w.innerWidth, h: w.innerHeight }; //对标准模式下的IE(或任意浏览器)
var d = w.document;
if (document.compatMode == "CSS1Compat")
return { w: d.documentElement.clientWidth, h: d.documentElement.clientHeight }; //对怪异模式下的浏览器
return { w: d.body.clientWidth, h: d.body.clientHeight };
} window.onscroll = function () {
var t = document.documentElement.scrollTop || document.body.scrollTop;
//文档高度
var documentHeight = document.documentElement.offsetHeight; //文档高度
var viewPortHeight = getViewportSize().h; //窗口高度
var scrollHeight = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || ; //scrollTop 元素垂直滚动条位置
//return documentHeight - viewPortHeight - scrollHeight < 20; console.log("文档高度" + documentHeight);
console.log("窗口高度" + viewPortHeight);
console.log("滚动条高度" + scrollHeight); } </script>

js 滚动条的更多相关文章

  1. jquery.nicescroll.min.js滚动条使用方法

    jquery.nicescroll.min.js滚动条使用方法,Nicescroll 是制作自定义滚动条的jq插件.支持div,iframe,html等使用,兼容IE7-8,safari,firefo ...

  2. python实例编写(4)--js,滚动条,cookie,验证码,获取特定属性的元素,实现原理

    一.调用js 执行方法:execute_script(script,*args) 场景一:在页面上直接执行调用js 场景二:在定位的某个元素上执行调用js 如:掩藏文字(提示插件 tooltip设置淡 ...

  3. jquery.nicescroll.min.js滚动条插件的用法

    1.jquery.nicescroll.min.js源码 /* jquery.nicescroll 3.6.8 InuYaksa*2015 MIT http://nicescroll.areaaper ...

  4. JS滚动条下拉事件

    <script type="text/javascript"> window.onscroll = function(){ var t = document.docum ...

  5. js滚动条

    /*滚动条在Y轴上的滚动距离*/function ScrollTop(){ var scrollTop = 0, bodyScrollTop = 0, documentScrollTop = 0; i ...

  6. JS——滚动条

    1.核心思想与之前的拖拽盒子是一样的 2.完全将鼠标在盒子中的坐标给滚动条是错的,因为这样会使滚动条顶部立刻瞬间移动到鼠标位置 3.必须在鼠标按下事件时记住鼠标在滚动条内部的坐标,再将鼠标在盒子中的坐 ...

  7. JS 滚动条事件

    当滚动条滚动到最底部出发事件: $(window).scroll(function(){ if($(document).height()-$(this).scrollTop()-$(this).hei ...

  8. 原生JS滚动条位置处理

    // 滚动条位置 var scrollPosition = { // 位置 result: 0, // 监听位置 rememberPosition: function () { var type = ...

  9. js滚动条滚动到某个元素位置

    scrollTo(0,document.getElementById('xxx').offset().top);

随机推荐

  1. Spring MVC : Java模板引擎 Thymeleaf (二)

    本文原计划直接介绍Thymeleaf的视图解析,但考虑到学习的方便,决定先构建一个spring-mvc. 以下的全部过程仅仅要一个记事本和JDK就够了. 第一步,使用maven构建一个web app. ...

  2. C++与C的那些差异

    虽说C++是向后兼容C的,但C++与C还是存在许多差异.这里举了几个例子,也是我们很容易忽略的地方.如果你还知道其他的更多的Differences,或者发现什么错误,可以评论告诉我,大家一起学习进步. ...

  3. iOS页面右滑返回的实现方法总结

    1.边缘触发的系统方法 ①系统返回按钮 self.navigationController.interactivePopGestureRecognizer.enabled = YES;  ②自定义返回 ...

  4. Asp.Net实现JS前台带箭头的流程图方法总结!(个人笔记,信息不全)

    Asp.Net实现JS前台带箭头的流程图方法总结!(持续更新中) 一.返回前台json格式 json5 = "[{\"Id\":2259,\"Name\&quo ...

  5. 去哪网实习总结:开发定时任务(JavaWeb)

    本来是以做数据挖掘的目的进去哪网的,结构却成了系统开发.. . 只是还是比較认真的做了三个月,老师非常认同我的工作态度和成果.. . 实习立即就要结束了.总结一下几点之前没有注意过的变成习惯和问题,分 ...

  6. eclipse 自己主动为getter和setter加入中文凝视

    在我们使用eclipse进行开发的时候经常会使用到eclipse自己主动生成getter和setter的功能,然后大多情况下eclipse为我们生成的getter和setter都是无法在项目中使用的. ...

  7. J - 玩游戏

    小A和小B玩游戏,初始的时候小A给小B一组包含n个数的数组.他们按如下的规则进行: 每次小B得到一组数,他把这组数的和加到自己的分数里面(他的初始分数是0),然后他把这组数还给小A. 如果小A得到的这 ...

  8. 机器视觉: LBP-TOP

    之前介绍过机器视觉中常用到的一种特征:LBP http://blog.csdn.net/matrix_space/article/details/50481641 LBP可以有效地处理光照变化,在纹理 ...

  9. DVB条件接收系统多密技术的设计与实现

    1相关技术比较 1.1DVB同密 DVB同密技术的目的是将两家或两家以上的CA系统应用于同一网络平台中,从电视台角度实现技术的选择和竞争的环境.同密允许在传输的同一套节目流中携带由不同CAS生成的多个 ...

  10. 如何根据configure.ac和Makefile.am为开源代码产生当前平台的Makefile

    1 2 3 4 5 6 7 8 9 //根据configure.in和Makefile.am生成makefile的步骤,基于UBUNTU 12.04 1.autoscan (可选) 2.aclocal ...