效果图:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta http-equiv="X-UA-Compatible" content="ie=edge" /><title>JS滚动条位置,顶部,底部,触发事件</title></head><body><style>body {margin: 0;padding: 0;height: 200vh;}</style><script>function getScrollTop() {var scrollTop = 0,bodyScrollTop = 0,documentScrollTop = 0;if (document.body) {bodyScrollTop = document.body.scrollTop;}if (document.documentElement) {documentScrollTop = document.documentElement.scrollTop;}scrollTop =bodyScrollTop - documentScrollTop > 0? bodyScrollTop: documentScrollTop;return scrollTop;}console.log("被卷曲的头",document.body.scrollTop,document.documentElement.scrollTop);function getWindowHeight() {var windowHeight = 0;if (document.compatMode == "CSS1Compat") {windowHeight = document.documentElement.clientHeight;} else {windowHeight = document.body.clientHeight;}return windowHeight;}console.log("客户端可视区域高度",document.body.clientHeight,document.documentElement.clientHeight);// 文档的总高度function getScrollHeight() {var scrollHeight = 0,bodyScrollHeight = 0,documentScrollHeight = 0;if (document.body) {bodyScrollHeight = document.body.scrollHeight;}if (document.documentElement) {documentScrollHeight = document.documentElement.scrollHeight;}scrollHeight =bodyScrollHeight - documentScrollHeight > 0? bodyScrollHeight: documentScrollHeight;return scrollHeight;}console.log("文档总高度",document.body.scrollHeight,document.documentElement.scrollHeight);window.onscroll = function() {if (getScrollTop() == 0) {console.log("顶部");}if (getScrollTop() + getWindowHeight() == getScrollHeight()) {console.log("已经到最底部了!!");}};</script></body>
</html>

JS滚动条位置,顶部,底部,触发事件相关推荐

  1. vue滚动条滚到到底部触发的方法

    1.设置需要滚动的盒子 首先要有滚动条 overflow-y:auto 或overflow-y: scroll; 然后设置 事件@scroll="scrollEvent" 方法名自 ...

  2. JS滚动条到网页底部自动加载更多内容

    2019独角兽企业重金招聘Python工程师标准>>> <html> <head> <meta charset="gb18030"  ...

  3. jquery滚动条到底部触发事件

    var nScrollHight = 0; //滚动距离总长(注意不是滚动条的长度)var nScrollTop = 0; //滚动到的当前位置var nDivHight = $("#hot ...

  4. js 动态加载select触发事件

    动态加载select后,手动调用一下 subjectChange函数,模拟触发change事件 function hallidChange(value) {$.ajax({type: "po ...

  5. JS页面加载完成触发事件

    2019独角兽企业重金招聘Python工程师标准>>> JS  window.οnlοad=function(){ //do something } <script type= ...

  6. html事件中写js,html标签中绑定触发事件与js中绑定触发事件写法上的区别

    html> js中方法名后加括号和不加口号的区别 按钮 var test = function(){ var span = document.createElement("span&q ...

  7. EXTJS 6 Grid 滚动到底部 触发事件(如:加载数据)

    给grid增加个listeners  监听 viewready listeners : {afterrender : function() {},viewready: function () {gri ...

  8. js 多选框被选中触发的事件_JS实现select选中option触发事件操作示例

    本文实例讲述了JS实现select选中option触发事件操作.分享给大家供大家参考,具体如下: 我们在用到下拉列表框select时,需要对选中的选项触发事件,其实本身没有触发事件方法,我们只有在se ...

  9. 如何用堆栈来保存和恢复滚动条位置

    问题背景 在单页应用中,翻页一般通过display:none将先前的面板(一般就是个div容器)隐藏,然后将本次需要展现的面板设置成display:block(当然,还可能加点css切换动画,不过不影 ...

最新文章

  1. Kubernetes 1.8.4 手动安装教程-安装Dashboard(七)
  2. 什么样的女人才算是好老婆?
  3. 一文读懂 Spring Boot、微服务架构和大数据治理三者之间的故事
  4. Memory Management Concepts overview(内存管理基本概念)
  5. 做VB的,经常注册和反注册OCX控件和DLL链
  6. Unix环境高级编程第三版源代码编译与使用说明
  7. ArcMAP 用不同颜色区分地类
  8. js 数组合并并且去重
  9. HTML/CSS 常见面试题汇总
  10. LAMP架构之4——MySQL源码编译及使用
  11. 贪吃蛇php代码下载,C语言贪吃蛇代码
  12. 同一个接口返回多种数据类型
  13. Android渲染时间 太长,Android性能优化之渲染篇
  14. zhuan 常用图像数据集:标注、检索
  15. 基于bytom 智能合约_基于HTTP的合约测试@ Gamesys
  16. 计算几何-Ang-Rad-Vector
  17. 数据爬取遇到EventStream是个什么东西?EventSource与websocket有何区别?Java后台如何获取爬取数据并入库?EventStream后台服务怎么写?
  18. 百度篇——应聘百度新产品软件开发工程师及建议(一)——浅谈iGoogle
  19. 企业迁移到云之前要考虑的关键因素
  20. parcelable接口实现

热门文章

  1. mfc嵌入matlab绘图窗口,将matlab的图嵌入MFC
  2. mysql emoji表情_让MySQL支持Emoji表情 mysql 5.6
  3. 繁体简体转换器 v 1.0
  4. CortexM0开发 —— LPC11C14的UART使用方法
  5. Python 爬虫进阶五之多线程的用法
  6. vue 3.x 中使用ele-image时相对路径的图片加载失败
  7. xcode-select: error: tool 'xcodebuild' requires Xcode错误解决方法
  8. linux中fstab文件详解
  9. VMware打开虚拟机黑屏
  10. 第一章 处理器体系结构