js实现鼠标滑动到某个div禁止滚动


Posted in Javascript onSeptember 17, 2020

本文实例为大家分享了js实现鼠标滑动到某个div禁止滚动的具体代码,供大家参考,具体内容如下

项目中碰到一个场景就是当鼠标滑倒某个div的时候,滑动鼠标页面不再滚动。

这里主要是当鼠标滑动到该div时,监听滚轮事件并通过preventDefault()事件来阻止滚动事件,以下是例子

eg:

js实现鼠标滑动到某个div禁止滚动

#wrap {
  position:absolute;
  top:200px;
  background:#000000;
  font-size: 40px;
  width:50vw;
  text-align: center;
  color: #ffffff;
  line-height: 300px;
  height:300px;
}
<div id="wrap">
 鼠标移动进入该区域,页面禁止滚动
</div>
window.onload = function () {
  for (i = 0; i < 50; i++) {
  var x = document.createElement('div');
  x.innerHTML = "test<br/>";
  document.body.appendChild(x);
  }
 
  function $(x) {
  return document.getElementById(x);
  };
  $("wrap").onmousewheel = function scrollWheel(e) {
  var sl;
  e = e || window.event;
  if (navigator.userAgent.toLowerCase().indexOf('msie') >= 0) {
   event.returnValue = false;
  } else {
   e.preventDefault();
  };
  };
  if (navigator.userAgent.toLowerCase().indexOf('firefox') >= 0) {
  //firefox支持onmousewheel
  addEventListener('DOMMouseScroll',
   function (e) {
   var obj = e.target;
   var onmousewheel;
   while (obj) {
    onmousewheel = obj.getAttribute('onmousewheel') || obj.onmousewheel;
    if (onmousewheel) break;
    if (obj.tagName == 'BODY') break;
    obj = obj.parentNode;
   };
   if (onmousewheel) {
    if (e.preventDefault) e.preventDefault();
    e.returnValue = false; //禁止页面滚动
    if (typeof obj.onmousewheel != 'function') {
    //将onmousewheel转换成function
    eval('window._tmpFun = function(event){' + onmousewheel + '}');
    obj.onmousewheel = window._tmpFun;
    window._tmpFun = null;
    };
    // 不直接执行是因为若onmousewheel(e)运行时间较长的话,会导致锁定滚动失效,使用setTimeout可避免
    setTimeout(function () {
     obj.onmousewheel(e);
    },
    1);
   };
   },
   false);
  };
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 的Document属性和方法集合
Jan 25 Javascript
一个简单的jQuery插件制作 学习过程及实例
Apr 25 Javascript
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
Apr 27 Javascript
整理一些JavaScript的IE和火狐的兼容性注意事项
Mar 17 Javascript
VBS通过WMI监视注册表变动的代码
Oct 27 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
Jun 16 Javascript
JavaScript设计模式之适配器模式介绍
Dec 28 Javascript
js字符串操作总结(必看篇)
Nov 22 Javascript
vue实现微信分享朋友圈,发送朋友的示例讲解
Feb 10 Javascript
手把手教你写一个微信小程序(推荐)
Oct 17 Javascript
微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能
Sep 26 Javascript
JavaScript Image对象实现原理实例解析
Aug 26 Javascript
原生js+css实现tab切换功能
Sep 17 #Javascript
vue使用screenfull插件实现全屏功能
Sep 17 #Javascript
Vue使用screenfull实现全屏效果
Sep 17 #Javascript
详解JavaScript中的数据类型,以及检测数据类型的方法
Sep 17 #Javascript
JavaScript编码小技巧分享
Sep 17 #Javascript
如何利用node转发请求详解
Sep 17 #Javascript
前端性能优化建议
Sep 17 #Javascript
You might like
php简单实现查询数据库返回json数据
2015/04/16 PHP
php header函数的常用http头设置
2015/06/25 PHP
js 数值项目的格式化函数代码
2010/05/14 Javascript
jquery.combobox中文api和例子,修复了上面的小bug
2011/03/28 Javascript
图片延迟加载的实现代码(模仿懒惰)
2013/03/29 Javascript
js抽奖实现随机抽奖代码效果
2013/12/02 Javascript
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
2014/07/17 Javascript
jquery实现的简单二级菜单效果代码
2015/09/22 Javascript
BootStrap智能表单demo示例详解
2016/06/13 Javascript
jQuery使用正则表达式限制文本框只能输入数字
2016/06/18 Javascript
checkbox批量选中,获取选中项的值的简单实例
2016/06/28 Javascript
微信jssdk用法汇总
2016/07/16 Javascript
JavaScript中在光标处插入添加文本标签节点的详细方法
2017/03/22 Javascript
vue脚手架中配置Sass的方法
2018/01/04 Javascript
vue2.0 根据状态值进行样式的改变展示方法
2018/03/13 Javascript
Angular中sweetalert弹框的基本使用教程
2018/07/22 Javascript
Vux+Axios拦截器增加loading的问题及实现方法
2018/11/08 Javascript
[06:14]《辉夜杯》外卡赛附加赛 4支战队巡礼
2015/10/23 DOTA
[47:12]TFT vs Secret Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
[35:34]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
基于Python实现的扫雷游戏实例代码
2014/08/01 Python
python刷投票的脚本实现代码
2014/11/08 Python
Python中atexit模块的基本使用示例
2015/07/08 Python
python实现K最近邻算法
2018/01/29 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
2018/02/18 Python
Python GUI库Tkiner使用方法代码示例
2020/11/27 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
2021/01/24 Python
Perfume’s Club法国站:购买香水和化妆品
2019/05/02 全球购物
九月份红领巾广播稿
2014/01/22 职场文书
2013年军训通讯稿
2014/02/05 职场文书
开业庆典主持词
2014/03/21 职场文书
2014医学院领导班子对照检查材料思想汇报
2014/09/19 职场文书
老公给老婆的检讨书(精华篇)
2014/10/18 职场文书
教师文明餐桌光盘行动倡议书
2015/04/28 职场文书
python爬取豆瓣电影TOP250数据
2021/05/23 Python
Jackson 反序列化时实现大小写不敏感设置
2021/06/29 Java/Android