JavaScript onscroll和scrollTop
onscroll是浏览器的滑动监听事件,当滑动鼠标或者拖动滚动条的时候,就会触发onscroll事件。
scrollTop指的是浏览器页面卷起的高度。
对于scrollTop来说,有两种获取方法
- 使用document.documentElement.scrollTop获取
- 使用document.body.scrollTop获取
使用这两种方法都可以获取到浏览器卷起的高度,区别是:
方法1必须在页面写有DOCTYPE标签时才能获取到,而方法2必须在页面没有DOCTYPE的情况下才可以生效。
对于这两个方法来说,使用但不生效的时候,不会报错,那我们也可以使用短路表达式来获取浏览器卷起的高度,这样不管页面存不存在DOCTYPE的情况下都可以获取到页面卷起的高度。
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
案例:
需求
开始时 顶部的导航条 和 top按钮 不显示,当页面卷起一定的高度时显示
当页面再往上滑动的时候会再隐藏当航条和按钮
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="../reset.css"><style>body{height: 2000px;}#top{width: 100%;height: 50px;background-color: burlywood;display: none;position: fixed;}#toTop{width: 50px;height: 50px;background-color: #ccc;position: fixed;bottom: 30px;right: 30px;text-align: center;line-height: 50px;cursor: pointer;opacity: 0;transition: .5s linear;}#top.active{display: block;}#toTop.active{opacity: 1;}</style>
</head>
<body><div id="top"></div><div id="toTop">TOP</div><script>//获取元素var topBar = document.getElementById('top');var toTop = document.getElementById('toTop');//添加滚动事件window.onscroll = function () {//使用兼容的方法获取浏览器页面卷起的高度var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;// console.log(scrollTop);//如果卷起的高度大于300即显示if(scrollTop >= 300){topBar.classList.add('active');toTop.classList.add('active');}//小于300即隐藏else if(scrollTop < 300){topBar.classList.remove('active');toTop.classList.remove('active');}//回到顶部的点击事件toTop.onclick = function () {window.scrollTo({top: 0,behavior: 'smooth'});}} </script>
</body>
</html>
JavaScript onscroll和scrollTop相关推荐
- JavaScript中的scrollTop(js中的scrollTop,滚动到顶部,javascript滚动到顶部)
简述:scrollTop是JavaScript中一个非常有用且重要的方法,它用于获取或设置元素的垂直滚动条位置,实现各种滚动相关的功能,无论是回到顶部.滚动到指定位置还是监听滚动事件,都需要用到scr ...
- JS使用onscroll、scrollTop实现图片懒加载
今天做到项目中的图片展示,由于每一页的图片数量都很多,因此需要为图片的展示设计一种懒加载的功能. 第一要做的当然就是给程序添加滚动监听事件. 1 //触发拉取图片开关,保证正在拉取时不能再次触发 2 ...
- 原生态纯JavaScript 100大技巧大收集
来自:http://yonghu.blog.51cto.com/8166136/1346946 1.原生JavaScript实现字符串长度截取 1 2 3 4 5 6 7 8 9 10 11 12 1 ...
- 原生态纯JavaScript 100大技巧大收集---你值得拥有
原生态纯JavaScript 100大技巧大收集---你值得拥有 1.原生JavaScript实现字符串长度截取 function cutstr(str, len) {var temp;var ico ...
- mysql插入ㄖ_原生JavaScript代码100个实例
1.原生JavaScript实现字符串长度截取 function cutstr(str, len) { var temp; var icount = 0; var patrn = /[^\x00-\x ...
- 加入收藏代码_100个原生JavaScript代码片段知识点详细汇总【实践】
作者:小棋子js 转发链接:https://www.jianshu.com/p/b5171efa340f JavaScript 是目前最流行的编程语言之一,正如大多数人所说:"如果你想学一门 ...
- 100个直接可以拿来用的JavaScript实用功能代码片段(转)
把平时网站上常用的一些实用功能代码片段通通收集起来,方面网友们学习使用,利用好的话可以加快网友们的开发速度,提高工作效率. 目录如下: 1.原生JavaScript实现字符串长度截取 2.原生Java ...
- 使用JavaScript制作页面效果3
一. 1.下拉列表:select对象 属性: option[ ]:选项数组 selectedIndex:被选中选项的索引号 length:选项总数 方法: add(option对象,添加位置):增加选 ...
- 详细的JavaScript知识梳理和经典的一百个例题,让你掌握JavaScript
这里先做一下JavaScript知识点的梳理,具体的可领取资料 JavaScript语法: js语法.png DOM操作: DOM操作.png 数据类型 面向对象 继承 闭包 插件 作用域 跨域 原型 ...
最新文章
- 2021全国高校计算机能力挑战赛(初赛)C语言试题四
- python 二项分布_Python绘制的二项分布概率图示例
- “IIS配置401错误”完美解决方案
- mysql 问号作用_什么是MySQL中的问号的意义“WHERE column =?”?
- 【人物】乔布斯:A级人才的自尊心不需要你呵护
- 肝了我好久,《Python知识手册V1.0》出来了!!!
- 汇编语言 修改显存 在屏幕上显示图案
- hyperterminal使用教程_如何在Win7中安装使用超级终端Hyper Terminal(转)
- java编译多个包_javac一次性编译多个包下的.java文件
- python写入并获取剪切板内容_python写入并获取剪切板内容
- [JSOI2007]建筑抢修 (贪心)
- 统计c语言中英文字幕,C语言日记——递归
- Analytics API and Customer Data Platform | Segment
- SPECT、PET、CT与MRI成像原理及其特点的比较
- xshell怎么上传文件
- learning ddr tRP and tRP tRTP CL tRAS
- Ubuntu 16.04 配置 TITAN xp, CUDA 及 cuDNN
- 洛谷T46780 ZJL 的妹子序列(生成函数)
- 人工智能——离线情况下自动给视频添加字幕,支持中文,英文,日文等等
- Hive处理数据基本操作流程
热门文章
- 关于vue项目打包后提示图片文件路径错误的解决方法
- 孙溟㠭先生禅意篆刻——正
- JavaScript语言核心
- 研究人员重置交通卡数据搭乘免费火车
- nunit php-fpm,首页 C#使用NUnit的-如何获得当前正在执行...
- 【转】自然语言处理:文本相似度计算(欧氏距离、余弦相似度、编辑距离、杰卡德相似度)
- 细数网易云音乐上那些适合学习和工作时听的歌单。
- fade计算机音乐,Fade(纯音乐) - QQ音乐-千万正版音乐海量无损曲库新歌热歌天天畅听的高品质音乐平台!...
- 保序回归(isotonic_regression)
- 做人工智能薪资怎么样?AI从业收入高吗?