移动端弹出阴影遮罩的几点问题和解决方法

简介: 在做移动端的立即购买页面时,点击底部固定栏立即购买按钮需要弹出一个阴影遮罩,在遮罩顶部有一个固定在底部的页面,所以总共是3层页面:最底层浏览页->阴影遮罩页->最上层的立即购买选择规格数量页;效果如下图:

移动端弹出阴影遮罩的几点问题和解决方法



在做移动端的立即购买页面时,点击底部固定栏立即购买按钮需要弹出一个阴影遮罩,在遮罩顶部有一个固定在底部的页面,所以总共是3层页面:最底层浏览页->阴影遮罩页->最上层的立即购买选择规格数量页;效果如下图:


20170407132806121.png


在次过程中遇到的一些问题以及解决方案总结如下:



问题1:阴影遮罩出现后底部的页面还可以滑动;


   解决:在弹出遮罩的js里click事件中,给body加overflow:hidden的css属性;$("body").css("overflow","hidden");


问题2:页面向上滑动,阴影遮罩和阴影遮罩上的立即购买页面会随着往上移动;


  解决:编写了如下函数计算页面移动的距离,让遮罩和立即购买页面也移动相应的距离,代码如下:


function getScrollTop(){
        var scrollTop=0;
  if(document.documentElement&&document.documentElement.scrollTop){
      scrollTop=document.documentElement.scrollTop;
  }else if(document.body){
      scrollTop=document.body.scrollTop;
  }
  return scrollTop;
 }  


写了一个简单的demo,代码如下:


<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no" name="viewport">
    <title>阴影遮罩</title>
    <script src="js/jquery-1.11.1.min.js"></script>
    <style>
      body{
        padding:0px;
        margin:0px;
      }
      #back1{
            z-index: 99999;
            display: block;
            background: rgba(0, 0, 0, 0.498039);
            position: absolute;
            top: 0px;
            width: 100%;
            height: 100%;
      }
      .one{
        height:100px; 
        width:100%;
        text-align: center;
        background-color:#fff;
        position:absolute;
        bottom:0px;
        display:none; 
        position: absolute;
        bottom: 0;
        z-index: 9999999;
      }
      .one span{
        font-size:24px;
        display: inline-block;
        height:30px;
        width:30px;
        position: absolute;
            right: 18px;
          top: 0px;
          background-color: #ccc;
      }
    </style>
  </head>
  <body>
    <div id="back1" style="display: none; top: 0px;"></div>
    <div class="one"><p>这是遮罩上面的一层</p>     <span class="xx">x</span></div>
    <div>阴影遮罩下面的页面</div>
    <br /><br /><br /><br /><br /><br />
    <div style="height:500px;width:200px;border:1px solid red;"></div>
    <div>阴影遮罩下面的页面</div>
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <div class="bottom" style="position:fixed;bottom:0px;height:50px;width:100%;background-color:#ccc;line-height: 50px; text-align: center;">点我出现遮罩</div>
    <script type="text/javascript">
      //获取页面上移的距离
       function getScrollTop(){
          var scrollTop=0;
          if(document.documentElement&&document.documentElement.scrollTop){
            scrollTop=document.documentElement.scrollTop;
          }else if(document.body){
            scrollTop=document.body.scrollTop;
          }
          return scrollTop;
      } 
      $(".bottom").on("click",function(){
        $("#back1").css("top",getScrollTop()+'px');
        $("#back1").show();
        $(".one").css("bottom",-getScrollTop()+'px');
        $(".one").show();
        $("body").css("overflow","hidden");
      });
      $(".xx").on("click",function(){
        $("#back1").hide();
        $(".one").hide();
        $("body").css("overflow","auto");
      });
    </script>
  </body>
</html>


至此,一个好用的弹出demo就完美收官啦!!

目录
相关文章
|
12月前
|
数据采集 存储 人工智能
数据治理工作的持续评估与优化策略
数据治理工作的持续评估与优化是企业实现数据价值最大化的关键。通过明确目标、建立评估体系、实施定期评估、制定优化策略以及建立反馈机制,企业可以不断提升数据治理水平,为业务决策提供有力支持,推动企业持续健康发展。在这个过程中,保持对新技术、新方法的关注与探索,也是确保数据治理工作与时俱进的重要途径。
|
9月前
|
人工智能 运维 监控
别再熬夜调模型——从构想到落地,我们都管了!
本文将以 Qwen2.5 : 7B 为例进行演示,介绍如何通过人工智能平台 PAI实现AI 研发的全链路支持,覆盖了从数据标注、模型开发、训练、评估、部署和运维管控的整个AI研发生命周期。
1228 37
|
11月前
|
机器学习/深度学习 人工智能 数据可视化
人工智能在图形学领域的研究热点有哪些?
AIGC:通过生成对抗网络(GAN)、变分自编码器(VAE)及其变体等技术,能够根据用户输入的文字描述、草图等生成高质量、高分辨率的图像,在艺术创作、游戏开发、广告设计等领域应用广泛。如OpenAI的DALL-E、Stable Diffusion等模型,可生成风格各异、内容丰富的图像,为创作者提供灵感和素材.
351 59
|
测试技术 Android开发 Python
python | 大麦网抢票(移动端)
上篇文章写到了使用windows11打开安卓应用,那么使用python来抢大麦网票应该也是可以的吧。库使用的是`pyautogui`。
1573 0
python | 大麦网抢票(移动端)
|
测试技术 Android开发 数据安全/隐私保护
脚本 | 手机大麦网脚本使用说明
这篇文章主要针对上篇文章的代码做一个使用说明
3414 0
|
前端开发 容器
边框线条的魔法:CSS动画效果,让网页设计流动起来!
边框线条的魔法:CSS动画效果,让网页设计流动起来!
|
监控 数据挖掘 数据安全/隐私保护
ERP系统中的培训与发展管理
【7月更文挑战第25天】 ERP系统中的培训与发展管理
748 2
阿里云合同申请流程:电子和鲜章纸质合同申请以及合同甲方修改教程
购买阿里云服务后,需合同报销或请款可通过线上自助申请。访问合同管理页面,选择按订单、账单或发票申请合同。确认信息无误后创建草稿合同,随后可在管理页面操作下载、转正或删除。北京、广东用户额外需要纸质合同用于备案时,可在线申请盖鲜章的纸质版。若需修改合同甲方主体,可变更账号实名认证以更新主体信息。
|
黑灰产治理 Python
点击器 | 大麦网的反思
两天研究了下大麦网,在经历了抢票没抢到,群友讨论脚本如何修改以及大麦网规则等事件之后,我发现了以下规则。
693 0
|
消息中间件 缓存 监控
Kafka 在分布式系统中的 7 大应用场景
Kafka 是一个开源的分布式流式平台,它可以处理大量的实时数据,并提供高吞吐量,低延迟,高可靠性和高可扩展性。Kafka 的核心组件包括生产者(Producer),消费者(Consumer),主题(Topic),分区(Partition),副本(Replica),日志(Log),偏移量(Offset)和代理(Broker)。
758 0