vue 弹框产生的滚动穿透问题的解决

作者:Peggy7 时间:2024-04-26 17:40:54 

最近开发过程中遇到一些小问题(似乎问题总是那么多),但一直没什么时间去优化与解决。程序员不能被业务绑架,有时间还是花点在代码,开始这次的vue尝试吧。

首先定义一个全局样式:


.noscroll{
 position: fixed;
 left: 0;
 top: 0;
 width: 100%;
}

创建一个dom.js文件,定义几个方法:


export function hasClass(el, className) {
 let reg = new RegExp('(^|\\s)' + className + '(\\s|$)')
 return reg.test(el.className)
}

export function addClass(el, className) {
 if (hasClass(el, className)) {
   return
 }
 if(el.className === ''){
   el.className += className
 }else{
   let newClass = el.className.split(' ')
   newClass.push(className)
   el.className = newClass.join(' ')
 }

}

export function removeClass(el,className) {
 if (hasClass(el, className)) {
   el.className = el.className.replace(new RegExp('(\\s|^)' + className + '(\\s|$)'), '');
 };
}

获取<html>标签的DOM:


this.htmlDom = document.getElementsByTagName('html')[0];

在弹框弹出来的时候:


addClass(this.htmlDom, 'noscroll');

弹框关闭的时候


removeClass(this.htmlDom, 'noscroll');

这样就可以解决滚动穿透的问题了~

来源:https://segmentfault.com/a/1190000016481693

标签:vue,弹框,滚动穿透
0
投稿

猜你喜欢

  • mssql2005字符串连接方法 避免无效的连接错误

    2024-01-14 20:45:05
  • python去除字符串中的换行符

    2021-07-11 12:35:23
  • Python并行分布式框架Celery详解

    2023-06-23 10:05:21
  • PHP开发中常用的三个表单验证函数使用小结

    2023-11-21 19:15:50
  • python 获取毫秒数,计算调用时长的方法

    2021-10-13 02:30:12
  • MySQL 的启动和连接方式实例分析

    2024-01-21 09:06:03
  • Go语言实现新春祝福二维码的生成

    2023-10-16 06:14:32
  • Vue的el-scrollbar实现自定义滚动

    2021-08-16 19:06:22
  • VTK与Python实现机械臂三维模型可视化详解

    2021-11-03 19:36:02
  • 详解go语言中sort如何排序

    2023-09-03 14:00:38
  • Sql学习第一天——SQL 练习题(建表/sql语句)

    2024-01-22 05:44:39
  • 分享8个非常流行的 Python 可视化工具包

    2022-11-14 08:40:14
  • 基于Python词云分析政府工作报告关键词

    2022-12-23 12:01:21
  • vue移动端实现手指滑动效果

    2023-07-02 16:48:49
  • Python数据类型详解(二)列表

    2021-10-26 08:47:11
  • django 解决manage.py migrate无效的问题

    2021-08-18 02:28:51
  • python 配置uwsgi 启动Django框架的详细教程

    2022-10-29 06:11:15
  • Python OpenCV实战之与机器学习的碰撞

    2022-04-30 17:17:21
  • 详解Python发送email的三种方式

    2023-07-01 07:19:28
  • Python 中的函数装饰器和闭包详解

    2021-08-03 17:52:40
  • asp之家 网络编程 m.aspxhome.com