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算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
Jul 21 Javascript
JavaScript中switch判断容易犯错的一个细节
Aug 27 Javascript
JavaScript中的console.time()函数详细介绍
Dec 29 Javascript
使用AngularJS实现表单向导的方法
Jun 19 Javascript
JS面向对象编程详解
Mar 06 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
Jun 20 Javascript
jQuery ajax MD5实现用户注册即时验证功能
Oct 11 Javascript
JavaScript之class继承_动力节点Java学院整理
Jul 03 Javascript
使用Sonarqube扫描Javascript代码的示例
Dec 26 Javascript
react的滑动图片验证码组件的示例代码
Feb 27 Javascript
uni app仿微信顶部导航条功能
Sep 17 Javascript
JS中forEach()、map()、every()、some()和filter()的用法
May 11 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
文件上传类
2006/10/09 PHP
SMARTY学习手记
2007/01/04 PHP
mysql中存储过程、函数的一些问题
2007/02/14 PHP
PHP  实现等比压缩图片尺寸和大小实例代码
2016/10/08 PHP
jquery的map与get方法详解
2013/11/04 Javascript
Ajax中解析Json的两种方法对比分析
2015/06/25 Javascript
js控制多图左右滚动切换效果代码分享
2015/08/26 Javascript
jQuery遍历json的方法分析
2016/04/16 Javascript
js创建数组的简单方法
2016/07/27 Javascript
Vue + Webpack + Vue-loader学习教程之功能介绍篇
2017/03/14 Javascript
AngularJS入门教程一:路由用法初探
2017/05/27 Javascript
让nodeJS支持ES6的词法----babel的安装和使用方法
2017/07/31 NodeJs
使用webpack打包后的vue项目如何正确运行(express)
2018/10/26 Javascript
vue-cli 2.*中导入公共less文件的方法步骤
2018/11/22 Javascript
微信小程序导入Vant报错VM292:1 thirdScriptError的解决方法
2019/08/01 Javascript
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
python基础教程之数字处理(math)模块详解
2014/03/25 Python
利用Python实现图书超期提醒
2016/08/02 Python
python中pandas.DataFrame排除特定行方法示例
2017/03/12 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
简单了解Python matplotlib线的属性
2019/06/29 Python
python代码 FTP备份交换机配置脚本实例解析
2019/08/01 Python
python Kmeans算法原理深入解析
2019/08/23 Python
pyinstaller打包找不到文件的问题解决
2020/04/15 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
python的数学算法函数及公式用法
2020/11/18 Python
html5适合移动应用开发的12大特性
2014/03/19 HTML / CSS
乌克兰香水和化妆品网站:Notino.ua
2018/03/26 全球购物
UML设计模式笔试题
2014/06/07 面试题
你在项目中用到了xml技术的哪些方面?如何实现的?
2014/01/26 面试题
2014入党积极分子破除“四风”思想汇报
2014/09/14 职场文书
导游词之临安白水涧
2019/11/05 职场文书
高一作文之乐趣
2019/11/21 职场文书
JS如何实现基于websocket的多端桥接平台
2021/05/14 Javascript
python解析json数据
2022/04/29 Python