js 判断滚动条 是否滚动到底部
解决问题思路
滚动条距离上面的滚动高度(scrollTop) + 滚动条本身高度 = 整个页面的高度(pageHeight)
关键点:滚动条本身高度是多少
事实上,这里就有一个思想误区,人会想直接获取滚动条高度(但找不到这个API,同时滚动条表现出来的高度,也会虽内容变长变短)。
其实你只要考虑一下,为什么会出现滚动条。出现滚动条代表超出可视窗口,它的滚动距离就是超出部分,而可视窗口高度就是滚动条对应的真实高度。
//滚动条距离顶部高度
function getScrollTop() {
var scrollTop=0;
if(document.documentElement&&document.documentElement.scrollTop) {
scrollTop=document.documentElement.scrollTop;
}
else if(document.body) {
scrollTop= document.body.scrollTop;
}
return Math.ceil(scrollTop);
} //滚动条本身高度:就是可视窗口高度
function getScrollBarHeight(){
let scrollBarHeight = document.documentElement.clientHeight;
return Math.ceil(scrollBarHeight);
} //整个页面高度
function getPageHeight() {
return Math.ceil(Math.max(document.body.clientHeight,document.documentElement.scrollHeight));
} window.onscroll = function () {
let top = getScrollTop();
let ch = getScrollBarHeight();
let sh = getPageHeight();
if (top + ch >= sh) {
console.log("到达底部");
}else{
console.log("没有到达底部");
}
}
js 判断滚动条 是否滚动到底部的更多相关文章
- js 判断浏览器是否滚动到底部
//jquery 实现代码 $(document).height() == $(window).height() + $(window).scrollTop() 1 整个空间的高度 包含(滚动条距离顶 ...
- js 判断滚动条的滚动方向
以下代码实现判断页面的滚动条的滚动方向: var sign = 80;//定义默认的向上滚与向下滚的边界 window.onscroll = window.onresize = function(){ ...
- js 判断滚动条是不是在浏览器底部
http://jingyan.baidu.com/album/86f4a73e91da7837d65269d5.html?picindex=2
- js判断滚动条是否已到页面最底部或顶部实例
原文 本文实例讲述了js判断滚动条是否已到页面最底部或顶部的方法.分享给大家供大家参考.具体分析如下: 我们经常会看到很多的网站一个返回顶部效果就是当我们滚动条到指定位置时返回顶部出来了,否则就自动隐 ...
- 不同浏览器对document.documentElement和document.body的scrollheight ,scrollTop,clientHeight以及判断滚动条是否滚动到页面最底部 【转载】
前段时间学习怎么写一个瀑布流的时候,就接触到document.documentElement和document.body的区别,然后今天查资料的时候看到这篇博客,遂转载记录在此. 两种特殊的文档属性可 ...
- js 判断滚动条是否停止滚动
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- js获取滚动条距离浏览器顶部,底部的高度,兼容ie和firefox
做web开发经常会碰到需要获取浏览器的滚动条与顶部和底部的距离,然后做相应的处理动作.下面作者就如何通过js来获取浏览器滚动条距离浏览器顶部和底部的高度做一下分享,这个是同时兼容ie和firefox的 ...
- 实现winform DataGridView控件判断滚动条是否滚动到当前已加载的数据行底部
判断 DataGridView控件滚动条是否滚动到当前已加载的数据行底部,其实方法很简单,就是为DataGridView控件添加Scroll事件,然后写入以下代码就可以了,应用范围:可实现分部加载数据 ...
- js判断滚动条到底部
判断滚动条到底部,需要用到DOM的三个属性值,即scrollTop.clientHeight.scrollHeight. scrollTop为滚动条在Y轴上的滚动距离. clientHeight为内容 ...
- winform DataGridView控件判断滚动条是否滚动到当前已加载的数据行底部 z
http://www.zuowenjun.cn/post/2015/05/20/162.html 判断 DataGridView控件滚动条是否滚动到当前已加载的数据行底部,其实方法很简单,就是为Dat ...
随机推荐
- 带你动手做AI版的垃圾分类
摘要:本案例将使用YOLOX模型,实现一个简单的垃圾分类应用. 本文分享自华为云社区<ModelBox社区案例 - 使用YOLOX做垃圾分类>,作者:HWCloudAI. 1 ModelB ...
- 计算机网络基础02-Internet结构,网络核心的数据交换,计算机网络性能几个参数
1 计算机网络的结构 1.1 网路边缘 主机.应用(软件.网站) 1.2 接入网络 1.3 网络核心 转发设备,路由器.交换机.关键功能就是路由+转发达到数据交换. 2 Internet的结构 2.1 ...
- 乌卡时代的云成本管理:从0到1了解FinOps
在上一篇文章中,我们介绍了企业云业务的成本构成以及目前面临的成本困境,以及当前企业逐步转向 FinOps 的行业趋势,这篇文章我们将详细聊聊 FinOps,包括概念.重要性以及成熟度评价指标. 随着对 ...
- Diffusers中基于Stable Diffusion的哪些图像操作
目录 辅助函数 Text-To-Image Image-To-Image In-painting Upscale Instruct-Pix2Pix 基于Stable Diffusion的哪些图像操作们 ...
- QFileDialog实现同时选择文件和文件夹,确认取消按钮英文问题解决方法
如下图所示,需求是同时能够选择文件或者文件夹,但是QFileDialog文件窗口类要么只能选文件,要么只能选文件夹,无法同时去选择文件和文件夹: 要实现这样的需求,封装了一个类,实现同时选择文件和文件 ...
- Switchquery:移动端秒级配置触达平台
作者:京东零售 胡本奎 一 背景 随着移动互联网的快速发展,为满足各类用户及人群的体验需求,移动端的开发者们开发了丰富多彩的体验与功能.同时对于快速控制各类功能的切换.灰度,降级等能力的要求也越来越高 ...
- K8S 实用工具之一 - 如何合并多个 kubeconfig?
开篇 引言: 磨刀不误砍柴工 工欲善其事必先利其器 K8S 集群规模,有的公司倾向于少量大规模 K8S 集群,也有的公司会倾向于大量小规模的 K8S 集群. 如果是第二种情况,是否有一个简单的 kub ...
- LeetCode-386 字典序排数
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/lexicographical-numbers 题目描述 给你一个整数 n ,按字典序返回范围 [ ...
- nginx中多ip多域名多端口配置
1.Nginx中多IP配置: server { listen 80; server_name 192.168.15.7; location / { root /opt/Super_Marie; ind ...
- Ubuntu中用普通方法无法添加自启动
参考了https://www.cnblogs.com/a5idc/p/13752839.html 如何知道你使用的是哪个init系统?你可以使用这个命令来知道与PID 1(系统上运行的第一个进程)相关 ...