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

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

#wrap {
      
      top:200px;
      background:#000000;
      font-size: 40px;
      width:50vw;
      text-align: center;
      color: #ffffff;
      line-height: 300px;
      height:300px;
<div id="wrap">
   鼠标移动进入该区域,页面禁止滚动
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);
          false);
                    项目中碰到一个场景就是当鼠标滑倒某个div的时候,滑动鼠标页面不再滚动。这里主要是当鼠标滑动到该div时,监听滚轮事件并通过preventDefault()事件来阻止滚动事件,以下是例子eg:#wrap {            top:200px;      background:#000000;      font-size: 40px;      width:50vw;      text-align: center;   .
				
只是一个小技巧;当先显示遮罩层时,加上禁止屏幕滚动 1、document.documentElement.style.overflowY = 'hidden'; //禁止屏幕滚动 2、当关闭遮罩层是时加上 document.documentElement.style.overflowY = 'scroll'; //取消禁止屏幕滚动
01-jQuery动画jQuery动画动画分类HTML DOM position 属性定义和用法显示 show(毫秒, 完成回调函数)隐藏 hide(毫秒, 完成回调函数)切换 toggle(毫秒, 完成回调函数)案例:两侧浮动广告显示或者隐藏控制 jQuery动画 通过 jQuery 动画方法,能够很轻松地为网页添加非常精彩的视觉效果 给用户一种全新体验。 显示、隐藏 滑动、卷动 一、横滑、竖滑 在固定大小的div中设置滑动效果,一般使用overflow-x和overflow-y,此时会出现x方向和y方向的滑动条。 以下为消除滑动条的方法(浏览器、移动端、浏览器&移动端兼容) overflow-x: scroll; scrollbar-width: none; /* firefox */ -ms-overflow-style: none; /* IE 10+ */ &::-webki
div中的style属性中的一个关键字,表明了该div所在的位置以及位置本身的属性。 position有四个值可选:static,absolute,fixed,relative。 若要使得div相对于浏览器窗口固定,即不随...
&lt;div v-show="ishow" class="fiex" @touchmove.prevent&gt; &lt;div @click="hide" class="hide"&gt;&lt;/div&gt; &lt;div :time_="tim" class=&quo 此时脑袋里面浮现了两种解决方案: 另新建一个div,使div完全复制这块div内容,再优先级高于这个遮罩层就行了。但是这样有一个缺点,由于部分布局不同,这个遮盖的div可能不会完全的准确覆盖此div,达不到最理想的效果。 第二种, 在源div上操作,使其可以显示在遮罩层之上 这里我说一下第二种: 在此div上添加属性: position
蒙层禁止页面滚动的方案 弹窗是一种常见的交互方式,而蒙层是弹窗必不可少的元素,用于隔断页面与弹窗区块,暂时阻断页面的交互。但是在蒙层出现的时候滚动页面,如果不加处理,蒙层底部的页面会开始滚动,实际上我们是不希望他进行滚动的,因此需要阻止这种行为。当弹出蒙层时禁止蒙层下的页面滚动,也可以称为滚动穿透的问题,文中介绍了一些常用的解决方案。 首先需要实现一个蒙层下滚动的效果示例,当我们点击弹窗按钮显示蒙层之后,再滚动鼠标的话能够看到蒙层下的页面依旧是能够滚动的。如果在蒙层的内部进行滚动,当蒙层内滚动滚动
我要鼠标移到div的时候不能对地图进行操作: // 把以下内容 写在地图加载完后 页面渲染完后的方法里 let leftResultDiv = document.getElementById('leftResult'); //获取div的dom setTimeout(() => { leftResultDiv.onmouseover = function () { //监听鼠标移入 $('#your-element').mousemove(function(e) { // 获取鼠标滚动事件 var scroll = e.originalEvent.wheelDelta; // 判断滚动方向 if (scroll > 0) { // 向右滚动 $(this).scrollLeft($(this).scrollLeft() - 20); } else { // 向左滚动 $(this).scrollLeft($(this).scrollLeft() + 20); 这段代码会在页面加载后监听 `#your-element` 元素的鼠标移动事件,并根据鼠标滚动方向更新滚动条的位置。注意,这段代码只能在区域内滑动鼠标时有效,如果鼠标在区域外滑动,代码不会起作用。