Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >JS 滚轮事件实现固定在窗口某个位置的元素显现或隐藏

JS 滚轮事件实现固定在窗口某个位置的元素显现或隐藏

作者头像
peng_tianyu
发布于 2022-12-15 08:47:23
发布于 2022-12-15 08:47:23
3.2K00
代码可运行
举报
文章被收录于专栏:前端开发随记前端开发随记
运行总次数:0
代码可运行

效果图

html代码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div id="box"></box>
css代码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
html,body{
   	height: 1000px;
}
#box{
	width: 100%;
	height: 200px;
	background-color: red;
	position: fixed;
	bottom: 0;
	display: none;
}
JavaScript代码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//获取元素
var box = document.getElementById('box');

//判断是否为火狐浏览器
//绑定滚轮事件
if (navigator.userAgent.indexOf('Firefox') != -1) {
    document.addEventListener('DOMMouseScroll', wheelFun, false);
} else {
    //非火狐
    document.onmousewheel = wheelFun;
}


function wheelFun(event) {
    //event兼容
    var event = event || window.event;
    //页面滚动上去的高度兼容
    var top = document.documentElement.scrollTop || document.body.scrollTop;
    
    //判断鼠标滚动方向
    if (event.detail) {
    	if(event.detail > 0) {
    		console.log('向下');
    	} else {
    		console.log('向上');
    	}
    } else if (event.wheelDelta) {
    	//非火狐
    	if (event.wheelDelta > 0) {
    		//console.log('向上');
    		top--;
    	} else {
    		//console.log('向下');
    		top++;
    	}
    
    //简单判断 改变box的样式
    if (top > 200) {
    	box.style.display = 'block';
    } else {
    	box.style.display = 'none';
    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
js常用事件整理—兼容所有浏览器
1.鼠标滚动事件。 说明:返回值 大于0向上滚动,小于0向下滚动。 兼容型:所有浏览器。 代码: /*********************** * 函数:鼠标滚动方向 * 参数:event * 返回:滚轮方向[向上(大于0)、向下(小于0)] *************************/ var scrollFunc = function(e) { var direct = 0; e = e || window.event; if (e.wheelDelta) {//
磊哥
2018/05/08
2.2K0
【前端篇】前端实现滚动分屏效果
1、为了方便切换时进行高度操作,此次使用vh单位,100vh表示100%高度,1vh表示1%高度,相比px更方便自适应。
小z666
2024/06/21
3430
【前端篇】前端实现滚动分屏效果
JavaScript学习笔记024-默认行为0滚轮事件
Author:Mr.柳上原 付出不亚于任何的努力 愿我们所有的努力,都不会被生活辜负 不忘初心,方得始终 想要进入前端圈子里工作 原来需要懂得太多太多 刚开始学习前端 好高骛远 以为html+css很牛逼了 然后学了js以为自己已经是前端了 到处投简历 说自己精通原生js 不会任何框架 现在想来 还是太年轻 学了node+mongodb+pug+layui 学了vue 却发现要成为一个真正的前端工程师,这些远远不够 还需要git 还需要less,sass 还需要小程序 还需要Bootstrap 还需要Rea
Mr. 柳上原
2018/10/10
7780
JS - 兼容到ie7的自定义样式的滚动条封装
demo: html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="author"
xing.org1^
2018/10/10
5.1K1
JS - 兼容到ie7的自定义样式的滚动条封装
JavaScript基础
使用addEventListener()可以同时为一个元素的相同事件同时绑定多个响应函数,这样当事件被触发时,响应函数将会按照函数的绑定顺序执行 这个方法不支持IE8及以下的浏览器
shaoshaossm
2022/12/27
2K0
JavaScript基础
js监听滚轮事件
chrome(ie)与firefox对滚轮事件的监听方式是不一样的,并且返回的数值正负也是正好相反的
码客说
2019/10/22
9.6K0
实现pc端鼠标滚轮缩放图片的步骤
之前写一个图片预览插件的时候,遇到了鼠标滚轮滚动进行图片缩放的需求,现在来回顾一下。
十里青山
2022/08/22
2.3K0
JS事件篇
浏览器加载一个页面时,是按照自上而下的顺序加载的,读取到一行就运行一行,如果将script标签写到页面上边,在代码执行的时候,页面还没有完全加载
大忽悠爱学习
2021/11/15
12.8K0
前端学习(53)~键盘事件
onmousewheel:鼠标滚轮滚动的事件,会在滚轮滚动时触发。但是火狐不支持该属性。
Vincent-yuan
2020/03/19
1.1K0
随心所欲的滚动条,远离产品汪(二)
还记得上周咱们说的“随心所欲滚动条,远离产品汪”一文吗?当中介绍了自定义滚动条的基本原理与实现方法,在自定义滚动条实现后,可以通过对滚动条的上下拖动来控制内容区的显示,使用过的朋友会发现,如果对篇幅较长的内容来说,不停的拖动滚动条来查看内容,还是比较麻烦的,于是本文在上篇代码的基础上添加了滚轮事件并处理了相应的兼容问题。 本文内容 1、原理结构图 2、滚轮事件及兼容问题概要 3、具体实现步骤 4、小结 原理结构图 为了方便大家熟悉理解,希望大家能够回顾下上篇“随心所欲滚动条,远离产品汪(一)”,本文继续使用
HTML5学堂
2018/03/13
2.1K0
随心所欲的滚动条,远离产品汪(二)
JavaScript(进阶)
正则用来定义一些字符串的规则,程序可以根据这些规则来判断一个字符串是否符合规则, 也可以将一个字符串中符合规则的内容提取出来。
神葳
2021/01/22
1.5K0
Vue 实现图片监听鼠标滑轮滚动实现图片缩小放大功能
其实想要实现功能很简单,就是在一张图片上监听鼠标滑轮滚动的事件,然后根据上滚还是下滚实现图片的缩放。
肥晨
2023/04/04
3.9K0
canvas实现拖动页面时显示窗口视频
简介   当前主流的视频网站目前有不少新鲜好玩的功能,最明显的莫过于小视频的显示--当视频不在当前视口范围 时,会在右下角用一个小窗口来显示当前的视频,而且可以拖拽。   今晚心血来潮,起了动手试试的念头。我的想法很简单,用canvas来获取视频每一帧的数据,并用动画函数 requestAnimationFrame函数(这里没有考虑兼容性)来显示每一帧的视频数据。另外,对canvas绑定拖动的 功能,这样就基本实现了简易的窗口视频。   本章内容的重点就是requestAnimationFrame函数和ca
欲休
2018/03/15
1.6K0
canvas实现拖动页面时显示窗口视频
原生JS滚动鼠标改变元素大小
今天要分享的是运用原生JS滚动鼠标改变元素大小,效果如下: 以下是代码实现,欢迎大家复制粘贴 。 <!DOCTYPE html> <html> <head> <meta http-equiv
越陌度阡
2020/11/26
9.5K0
原生JS滚动鼠标改变元素大小
接上一篇事件详解
事件类型: DOM3级事件规定了以下几类事件;如下: UI事件: 当用户与页面上的元素交互时触发; load事件:当页面加载完后(包括所有图像,所有javascript文件,css文件等外部资源),就会触发window上面的load事件,如下代码是加载图片的: HTML代码:<img src = “event.png” id=”img”/> JS代码如下: var img = document.getElementById("img"); EventUtil.addHandler(img,'load',fu
前朝楚水
2018/04/02
1.9K0
原生JS实现拖拽进度条、滚动鼠标显示相应的内容
今天要分享的是运用原生JS实现拖拽进度条、滚动鼠标显示相应的内容,实现效果如下:
越陌度阡
2020/11/26
5K0
原生JS实现拖拽进度条、滚动鼠标显示相应的内容
event事件句柄的封装
版权声明:本文为吴孔云博客原创文章,转载请注明出处并带上链接,谢谢。 https://blog.csdn.net/wkyseo/article/details/51062712
空空云
2018/09/27
6780
前端day15-JS(WebApi)学习笔记(三大家族、事件对象、getComputedStyle)
offsetWidth、offsetHeight、offsetParent、offsetLeft、offsetTop
帅的一麻皮
2020/05/04
7050
前端day15-JS(WebApi)学习笔记(三大家族、事件对象、getComputedStyle)
前端学习(51)~事件的传播和事件冒泡
重点:捕获阶段,事件依次传递的顺序是:window --> document --> html--> body --> 父元素、子元素、目标元素。
Vincent-yuan
2020/03/19
1K0
前端学习(50)~事件的绑定和事件对象
我们在之前的一篇文章《04-JavaScript/22-DOM简介和DOM操作》中已经讲过事件的概念。这里讲一下绑定(注册)事件的两种方式,我们以onclick事件为例。
Vincent-yuan
2020/03/19
9700
相关推荐
js常用事件整理—兼容所有浏览器
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验