1.返回html文档元素
document.documentElement

2.文档的高度
document.body.clientHeight

3.html文档可视高度==页面可见区域的高度
document.documentElement.clientHeight

4.获取元素距离文档顶部的距离
document.querySelector('.a').offsetTop

5.获取元素距离可视区域顶部的距离(测试有偏差)left,bottom,right,分别距离页面左边,下边,右边
document.querySelector('.a').getBoundingClientRect().top

6.滚动条距离文档顶端的距离
document.documentElement.scrollTop

 这是吸底的,吸顶把判断条件改成:sh < 200   200就是滚动条滑动多少距离开始吸顶

(代码可复制直接看效果,因为谷歌每次滚动距离正负100,所以效果可能没那么好,如果有什么好方法,麻烦指教)

*{margin: 0;padding: 0}
.con{width: 100px;height: 200px;border: 1px solid lime}
.a{width: 100%;height: 100px;background: lime;}
.scroll_avtive{position: fixed;left: 0;bottom: 0;}

  

<div class="con"></div>
<div class="con"></div>
<div class="con"></div>
<div class="con"></div>
<div class="con"></div>
<div class="con"></div>
<div class="con"></div>
<div class="con"></div>
<div class="con"></div>
<div class="con"></div>
<div class="a scroll_avtive"></div> <!--固定元素,其他div只为显示出滚动条-->
<div class="foot con"></div>
// 获取吸顶元素的高度,并转化为整数
let fixedElH = parseInt(getComputedStyle(document.querySelector('.foot'),null).height)
// 获取文档高度
let dh = document.body.clientHeight //获取可视区域的高度
let vh = document.documentElement.clientHeight
//获取固定元素
let a = document.querySelector('.a')
let scrollFunc=function(e){
//获取滚动条滚动距离
let sh = document.documentElement.scrollTop||document.body.scrollTop;
// event事件兼容写法
e=e || window.event;
////IE/Opera/Chrome浏览器使用的是wheelDelta,并且值为“正负120”(使用chrome是正负100)
console.log(sh)
if(e.wheelDelta){
// document.documentElement.scrollTop+=50
if(dh-sh < vh+fixedElH){
a.classList.remove('scroll_avtive')
}else{
a.classList.add('scroll_avtive')
}
//Firefox
}else if(e.detail){ }
}
if(document.addEventListener){
document.addEventListener('DOMMouseScroll',scrollFunc,false);
}//W3C
//IE/Opera/Chrome
window.onmousewheel=document.onmousewheel=scrollFunc;

js 吸顶以及一些获取文档高度等小方法的更多相关文章

  1. jquery获取文档高度和窗口高度的例子

    jquery获取文档高度和窗口高度,$(document).height().$(window).height() $(document).height():整个网页的文档高度 $(window).h ...

  2. jquery获取文档高度和窗口高度汇总

    jquery获取窗口高度和窗口高度,$(document).height().$(window).height() $(document).height():整个网页的文档高度 $(window).h ...

  3. VS2010 MFC中 在FormView派生类里获取文档类指针的方法

    经过苦苦调试,今晚终于解决了一个大问题. 我想要实现的是:在一个FormView的派生类里获取到文档类的指针. 但是出现问题:试了很多办法,始终无法获取到. 终于,此问题在我不懈地调试加尝试下解决了. ...

  4. js获取文档高度

    网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.body.offsetWi ...

  5. js 和 jquery 获取页面和滚动条的高度 视口高度文档高度

    js 和 jquery 获取页面和滚动条的高度 //页面位置及窗口大小 function GetPageSize() { var scrW, scrH; if(window.innerHeight & ...

  6. js、jQuery 获取文档、窗口、元素的各种值

    基于两年开发经验,总结了 javascript.jQuery 获取窗口.文档.元素的各种值 javascript: 文档:是整个document所有的内容 浏览器当前窗口文档body的宽度: docu ...

  7. [sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表

    写在前面 最近对文档库的知识点进行了整理,也就有了这篇文章,当时查找这些接口,并用在实践中,确实废了一些功夫,也为了让更多的人走更少的弯路. 系列文章 sharepoint环境安装过程中几点需要注意的 ...

  8. javaScript获取文档中所有元素节点的个数

    HTML+JS 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  9. SharePoint 2013 通过审计获取文档下载次数

    1.创建一个文档库,进入库设置,找到”Information management policy settings”,点进去,如下图: 2.分别设置”Document”.”Folder”两个,如下图: ...

  10. Java解析word,获取文档中图片位置

    前言(背景介绍): Apache POI是Apache基金会下一个开源的项目,用来处理office系列的文档,能够创建和解析word.excel.ppt格式的文档. 其中对word文档的处理有两个技术 ...

随机推荐

  1. 1001 Attention 和 Self-Attention 的区别(还不能区分我就真的无能为力了)

    通过 pytorch 去构建一个 transformer 的框架 不是导包,不是调包侠 注意力机制是一个很宽泛(宏大)的一个概念,QKV 相乘就是注意力,但是他没有规定 QKV是怎么来的 通过一个查询 ...

  2. Android复习(六)核心组件—>Activity 任何和返回栈、进程和应用生命周期、Parcelable和Bundle

    了解任务和返回堆栈 任务是用户在执行某项工作时与之互动的一系列 Activity 的集合.这些 Activity 按照每个 Activity 打开的顺序排列在一个返回堆栈中.例如,电子邮件应用可能有一 ...

  3. SQL语法-列的新增、删除

    MySQL的语法: 新增列 ALTER TABLE `xxdb`.`xxtable` ADD COLUMN `xx_flag` varchar(1) NULL; 删除列 ALTER TABLE `xx ...

  4. 云原生周刊:K8sGPT 加入 CNCF | 2024.1.8

    开源项目推荐 VolSync VolSync 使用 rsync 或 rclone 在集群之间异步复制 Kubernetes 持久卷.它还支持通过 Restic 创建持久卷的备份. KubeClarit ...

  5. 在 KubeSphere 上部署 Apache Pulsar

    作者介绍:徐文涛,StreamNative Content Strategist,热爱云原生与开源技术,活跃于本地化/文档/技术博客贡献,持有 K8s CKA/CKAD/CKS 认证. Apache ...

  6. golang slice相关常见的性能优化手段

    介绍一些开发中常用的slice关联的性能优化手段.鉴于golang编译器本身捉鸡的优化能力,优化的成本就得分摊在开发者自己的头上了. 这篇文章会介绍的优化手段是下面这几样: 创建slice时预分配内存 ...

  7. Nuxt.js 应用中的 components:dirs 事件钩子详解

    title: Nuxt.js 应用中的 components:dirs 事件钩子详解 date: 2024/10/31 updated: 2024/10/31 author: cmdragon exc ...

  8. ESP8266 + L298N

    L298N 知乎教程 L298N ESP8266 + L298N 连线 电机转的方向 电源引脚 VCC 外接直流电源引脚,电压范围在5~35V之间 GND GND是接地引脚,连接到电源负极 5V 驱动 ...

  9. Nuxt.js 应用中的 vite:serverCreated 事件钩子

    title: Nuxt.js 应用中的 vite:serverCreated 事件钩子 date: 2024/11/18 updated: 2024/11/18 author: cmdragon ex ...

  10. 通过Java代码发送OutLook邮件

    准备 我们想通过Java代码实现发送OutLook邮件,必须准备以下材料: OutLook邮箱 目标邮箱 查看OutLook邮箱信息 打开OutLook邮箱,在Settings中搜索或找到SMTP: ...