广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue遮罩层如何阻止滚动
  • 266
分享到

vue遮罩层如何阻止滚动

2024-04-02 19:04:59 266人浏览 泡泡鱼
摘要

目录Vue遮罩层阻止滚动vue解决遮罩层滚动方法vue遮罩层阻止滚动 给vue用fixed定位加一个遮罩层,滚动鼠标滚轮发现下面一层的页面随之滚动,那么如何阻止下层页面滚动? 我这里

vue遮罩层阻止滚动

给vue用fixed定位加一个遮罩层,滚动鼠标滚轮发现下面一层的页面随之滚动,那么如何阻止下层页面滚动?

我这里给遮罩层加一个取消鼠标滚轮默认行为的事件

<div class="popup" @mousewheel="mousewheel">
   <div class="cen">弹框内容</div>
</div>
mousewheel(e){
  e.preventDefault();
}

或者使用vue中提供 @touchmove.prevent 方法可以完美解决这个问题

<div class="popup" @touchmove.prevent v-if="show">
</div>

这会造成一个问题虽然遮罩层滚动问题解决了,但是弹框中的内容要是滚动会间接性的影响到遮罩层的滚动,那么如何解决?

网上查了很多资料,试了一下没有效果,我这里的解决方案是点击详情的时候弹出遮罩层,弹出的时候给body设置overflow:hidden当点击关闭遮罩层时,设置overflow:null

代码如下:

<!-- 手写弹框 -->
    // 遮罩层
    <div class="popup" @touchmove.prevent v-if="show"></div>
    
    // 弹框内容 (已设置overflow:scroll超出滚动)
    <div class="cen" v-if="show">
        <ul>
            <li v-for="(e,i) in dts" :key="i">
                <img :src="e" alt="">
            </li>
        </ul>
    </div>
    // 关闭按钮
    <div class="gb" @click="gb()" v-if="show">
        <svg t="1604306237286" class="icon ic" viewBox="0 0 1024 1024" version="1.1" xmlns="Http://www.w3.org/2000/svg" p-id="2388" width="48" height="48"><path d="M660.518 682.87c-5.903 0-11.804-2.2-16.306-6.702L342.366 374.372c-9.003-9.003-9.003-23.608 0-32.61s23.608-9.002 32.61 0l301.847 301.796c9.002 9.003 9.002 23.607 0 32.61-4.501 4.5-10.404 6.703-16.305 6.703z" p-id="2389" fill="#ffffff"></path><path d="M358.67 682.87c-5.901 0-11.803-2.2-16.304-6.702-9.003-9.003-9.003-23.607 0-32.61l301.846-301.796c9.003-9.002 23.607-9.002 32.61 0 9.002 9.002 9.002 23.607 0 32.61L374.977 676.168c-4.503 4.5-10.404 6.703-16.307 6.703z" p-id="2390" fill="#ffffff"></path><path d="M509.62 956.157c-246.579 0-447.244-200.614-447.244-447.242 0-246.58 200.664-447.218 447.243-447.218 246.58 0 447.243 200.638 447.243 447.218 0 246.628-200.664 447.242-447.243 447.242z m0-848.346c-221.172 0-401.13 179.933-401.13 401.105 0 221.169 179.958 401.128 401.13 401.128 221.17 0 401.127-179.959 401.127-401.128 0-221.172-179.957-401.105-401.128-401.105z" p-id="2391" fill="#ffffff"></path></svg>
    </div>

// 这是列表数据点击时
details(e)
{
   this.dts=e
   this.show=!this.show
   var body = document.getElementsByTagName('body')[0]
   console.log(body)
   body.style.overflow='hidden'
}, 
// 这是点击关闭按钮时
gb()
{
   this.show=!this.show
   var body = document.getElementsByTagName('body')[0]
   console.log(body)
   body.style.overflow=null
}

vue解决遮罩层滚动方法

vue遮罩层阻止默认滚动事件

在写移动端页面的时候,弹出遮罩层后,我们仍然可以滚动页面。 

vue中提供 @touchmove.prevent 方法可以完美解决这个问题

<div class="dialog" @touchmove.prevent ></div>

或者给不需要滚动的部分加上overflow:hidden属性解决 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。 

--结束END--

本文标题: vue遮罩层如何阻止滚动

本文链接: https://www.lsjlt.com/news/165365.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue遮罩层如何阻止滚动
    目录vue遮罩层阻止滚动vue解决遮罩层滚动方法vue遮罩层阻止滚动 给vue用fixed定位加一个遮罩层,滚动鼠标滚轮发现下面一层的页面随之滚动,那么如何阻止下层页面滚动? 我这里...
    99+
    2022-11-13
  • jQuery如何阻止移动端遮罩层后页面滚动
    这篇文章给大家分享的是有关jQuery如何阻止移动端遮罩层后页面滚动的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。css代码:.ovfHiden{overflow: hidden...
    99+
    2022-10-19
  • jQuery如何实现打开网页自动弹出遮罩层或点击弹出遮罩层功能
    这篇文章主要介绍了jQuery如何实现打开网页自动弹出遮罩层或点击弹出遮罩层功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体如下:弹出...
    99+
    2022-10-19
  • 遮罩层+Iframe如何实现界面自动显示
    这篇文章给大家分享的是有关遮罩层+Iframe如何实现界面自动显示的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。效果在教师评阅作业时,先把学生的作业展现出来,然后关掉界面进行评分(用百度主页做演示)Iframei...
    99+
    2023-06-09
  • 如何实现SCSS移动端页面遮罩层效果
    这篇文章将为大家详细讲解有关如何实现SCSS移动端页面遮罩层效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。实例可以兼容安卓4.0.4+:设计结构如下:<head...
    99+
    2022-10-19
  • 如何解决Vue开发中对话框被遮罩层挡住的问题
    这篇文章将为大家详细讲解有关如何解决Vue开发中对话框被遮罩层挡住的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在Vue的开发中,一旦我们用到对话框,经常出现的问题...
    99+
    2022-10-19
  • 微信小程序中如何使用scroll-view实现滚动穿透和阻止滚动
    小编给大家分享一下微信小程序中如何使用scroll-view实现滚动穿透和阻止滚动,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!...
    99+
    2022-10-19
  • web开发之如何禁止弹窗中蒙层底部页面跟随滚动
    这篇文章主要介绍web开发之如何禁止弹窗中蒙层底部页面跟随滚动,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!场景概述众所周知,弹窗是一种常见的交互方式,而蒙层是弹窗必不可少的元素,用...
    99+
    2022-10-19
  • 小程序中如何显示弹窗时禁止下层的内容滚动效果
    这篇文章主要为大家展示了“小程序中如何显示弹窗时禁止下层的内容滚动效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“小程序中如何显示弹窗时禁止下层的内容滚动效果...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作