H5当弹出弹窗遮罩时如何阻止滚动穿透(使用css方式)

news/2024/7/19 14:23:31 标签: js, html, javascript
htmledit_views">

最终解决方案:使用当弹窗出现的时候将页面body的position设置为fixed并记录此刻滚动的位置,弹窗消失去除position属性

遮罩层显示
 

onInviteFriendClick() {
    this.viewState.shareCover.visible = true;
 
    //遮罩出现不可以滚动
    let scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
    document.body.style.cssText += 'position:fixed;width:100%;top:-' + scrollTop + 'px;';
  }

遮罩层关闭 -----点击使遮罩消失

onVisibleClick = () => {
    const oldVisible = this.viewState.shareCover.visible;
    Object.assign(this.viewState, {
      shareCover: {
        visible: !oldVisible
      }
    });
 
    //去除遮罩恢复滚动
    if (!this.viewState.shareCover.visible) {
      let body = document.body;
      body.style.position = '';
      let top = body.style.top;
      document.body.scrollTop = document.documentElement.scrollTop = -parseInt(top);
      body.style.top = '';
    }
  };

参考网址:https://www.cnblogs.com/GuliGugaLiz/p/11589331.html


http://www.niftyadmin.cn/n/1385438.html

相关文章

Web打印控件Lodop实现证件套打

第一次接触Lodop大概是在两年前了,那时候研究Lodop主要是为了验证它能不能实现打印时在不修改内容的前提下调整样式,结果是ok的,如今又一次接触它,是因为工作中需要使用它了,于是再一次碰面 Lodop的官方网站http://www…

mysql GRANT ALL PRIVILEGES 限制某个或所有客户端都可以连接至mysql

GRANT ALL PRIVILEGES 1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"…

653 Two Sum IV Input is a BST

这周contest的签到题。我感觉应该有别的做法吧&#xff0c;但我直接把它遍历出来按照标准TWO SUM做的。。 而且在遍历的时候我竟然以为bst遍历要用preorder了。。。。MDZZ public boolean findTarget(TreeNode root, int k) {List<Integer> list new ArrayList<>(…

BaaS服务的定义、发展以及未来

BaaS&#xff08;Backend as a Service&#xff09;是一种新型的云服务&#xff0c;旨在为移动和Web应用提供后端云服务&#xff0c;包括云端数据/文件存储、账户管理、消息推送、社交媒体整合等。BaaS是垂直领域的云服务&#xff0c;随着移动互联网的持续火热&#xff0c;BaaS…

linux下对/sys/class/gpio中的gpio的控制 (转)

在嵌入式设备中对GPIO的操作是最基本的操作。一般的做法是写一个单独驱动程序&#xff0c;网上大多数的例子都是这样的。其实linux下面有一个通用的GPIO操作接口&#xff0c;那就是我要介绍的 “/sys/class/gpio” 方式。首先&#xff0c;看看系统中有没有“/sys/class/gpio”这…

【Excle数据透视表】如何将行字段中的某个项目拖动到第一行显示

如下图&#xff1a;需要把上海放到第一显示步骤方法一&#xff1a;单击”地区”下的“上海”→鼠标移动到单元格边框处→鼠标变成四向箭头→向上拖拽方法二&#xff1a;单击单元格A5→编辑区域输入“上海”→Enter

vue配置请求代理的时候需要避免命名前部分字母相同

1、proxy设置代理&#xff0c;其地址匹配是根据正则匹配&#xff0c;可以看到文中开始设置了如下三个代理,且顺序如下&#xff1a; "/api""/apipc""/huangyi" 2、对应请求的三个接口如下&#xff1a; "/api/musichall/fcgi-bin/fcg_yqqho…

(转)Android中的页面切换动画

这段时间一直在忙Android的项目&#xff0c;总算抽出点时间休息一下&#xff0c;准备把一些项目用到的Android经验分享一下。 在Android开发过程中&#xff0c;经常会碰到Activity之间的切换效果的问题&#xff0c;下面介绍一下如何实现左右滑动的切换效果&#xff0c;首先了解…