探索——苹果手机不兼容MUI侧滑下拉内容

        组长委以重任与我,解决苹果手机不兼容MUI的问题,我上网查了一些资料,发现关于这方面的解决方案大致分为两种,一是在HTML代码中,使用iframe 或者其他元素,用div装饰,二是用ionic框架替换MUI框架

         先说说第一种方案的经历

          原始代码:

<!--侧滑菜单部分-->
  <aside id="offCanvasSide" class="mui-off-canvas-left">
    <div id="offCanvasSideScroll" class="mui-scroll-wrapper">
      <div class="mui-scroll">

        <div class="content">

          <p style="margin: 10px 15px;">
            <button id="offCanvasHide" type="button" class="mui-btn mui-btn-danger mui-btn-block" style="padding: 5px 20px;visibility: hidden;">关闭侧滑菜单</button>
          </p>

        </div>
  
          <ul class="mui-table-view mui-table-view-chevron mui-table-view-inverted">
            <ng-container *ngFor='let student of studentTestInfo ;index as i'>
              <li id="{{i}}" class="mui-table-view-cell" *ngIf="student.isLackExam==1" style="background-color: rgb(212, 90, 19)">
               <!-- 缺考后变色 -->
                <div *ngIf="(student.isLackExam==1)">
                  <a class="mui-navigate-right" style="font-size: 16px;color:rgb(239, 248, 247);">
                    {{student.studentCode}} {{student.studentName}}
                  </a>
                </div>
              </li>
  
              <li id="{{i}}" class="mui-table-view-cell" *ngIf="student.isLackExam==0||student.isLackExam==null" style="background-color:black">
                <!-- && 录入成绩了-->
                <div *ngIf="(student.score!=null && student.score!='')">
                  <a class="mui-navigate-right" style="font-size: 16px;color: gray;">
                    {{student.studentCode}} {{student.studentName}}
                  </a>
                </div>
                <!--  暂时未录入成绩-->
                <div *ngIf="(student.score==null||student.score=='')">
                  <a class="mui-navigate-right" style="font-size: 16px;color: white;">
                    {{student.studentCode}} {{student.studentName}}
                  </a>
                </div>
              </li>
            </ng-container>
          </ul>
        </div>
      </div>
    </aside>

修改后

css页面:

.main-iframe-holder {
    margin-top:44px;  /*适应手机端顶部区域*/ 
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    top: 0;
    -webkit-overflow-scrolling: touch;
    overflow-y: scroll;
}

    .main-iframe-holder iframe {
        height: 100%;
        width: 100%;
    }

html页面:

<!--侧滑菜单部分-->
  <aside id="offCanvasSide" class="mui-off-canvas-left">
    <div class="main-iframe-holder">
      <iframe id="content" frameborder="0" scrolling="auto" 
      style="width: 100%; height: 100%;" src=""></iframe>
  </div>
 
      <div class="mui-scroll">

        <div class="content">

          <p style="margin: 10px 15px;">
            <button id="offCanvasHide" type="button" class="mui-btn mui-btn-danger mui-btn-block" style="padding: 5px 20px;visibility: hidden;">关闭侧滑菜单</button>
          </p>

        </div>
  
          <ul class="mui-table-view mui-table-view-chevron mui-table-view-inverted">
            <ng-container *ngFor='let student of studentTestInfo ;index as i'>
              <li id="{{i}}" class="mui-table-view-cell" *ngIf="student.isLackExam==1" style="background-color: rgb(212, 90, 19)">
               <!-- 缺考后变色 -->
                <div *ngIf="(student.isLackExam==1)">
                  <a class="mui-navigate-right" style="font-size: 16px;color:rgb(239, 248, 247);">
                    {{student.studentCode}} {{student.studentName}}
                  </a>
                </div>
              </li>
  
              <li id="{{i}}" class="mui-table-view-cell" *ngIf="student.isLackExam==0||student.isLackExam==null" style="background-color:black">
                <!-- && 录入成绩了-->
                <div *ngIf="(student.score!=null && student.score!='')">
                  <a class="mui-navigate-right" style="font-size: 16px;color: gray;">
                    {{student.studentCode}} {{student.studentName}}
                  </a>
                </div>
                <!--  暂时未录入成绩-->
                <div *ngIf="(student.score==null||student.score=='')">
                  <a class="mui-navigate-right" style="font-size: 16px;color: white;">
                    {{student.studentCode}} {{student.studentName}}
                  </a>
                </div>
              </li>
            </ng-container>
          </ul>
        </div>
      </div>
    </aside>

-webkit-overflow-scrolling: touch; 属性值就是专为浏览器中溢出(overflow)时需要滚动的元素设计的。 如果没有指定这个属性,当你想滚动iframe时,实际上会导致外层页面的滚动,通过它你就可以对IFRAME的滚动进行控制! 

链接:https://davidwalsh.name/scroll-iframes-ios

可惜并没有实现我想要的效果,尝试失败。

接下来尝试第二项尝试,使用ionic框架,稍后补充。。。。。。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值