利用 MUI開發app, 如何實現側滑菜單及其主體部分上下滑動


 利用mui開發APP

之側滑菜單主內容滾動問題

   MUI作為開發者常用的框架之一,其號稱最接近原生APP體驗的高性能前端框架。因此利用mui開發移動APP,可以為開發者提供很大的便利和接近原生的體驗。但是,在實現一些復雜功能的過程中,難免遇到一些小問題。博主將以自己在項目開發中的一些的經驗,陸續對mui使用中容易遇到的小問題,予以解答和分享,希望能幫到更多的開發者朋友。

  最近,博主在項目開發過程中遇到這樣一個問題,即利用mui側滑菜單模塊,實現APP的側滑菜單效果時,側滑菜單加入以后,將影響自身及主頁面內容的上下滑動。

相信這個問題在用mui開發APP時遇到的人不在少數,已解決,敬請參考。

    

1、首先在 class="mui-scroll-wrapper" 的元素上添加ID:

 

代碼如下:

<!-- 側滑導航根容器 -->  
<div class="mui-off-canvas-wrap mui-draggable">  
  <!-- 菜單容器 -->  
  <aside class="mui-off-canvas-left">  
    <div id="offCanvasSideScroll" class="mui-scroll-wrapper">  
      <div class="mui-scroll">  
        <!-- 菜單具體展示內容 -->  
        ...  
      </div>  
    </div>  
  </aside>  
  <!-- 主頁面容器 -->  
  <div class="mui-inner-wrap">  
    <!-- 主頁面標題 -->  
    <header class="mui-bar mui-bar-nav">  
      <a class="mui-icon mui-action-menu mui-icon-bars mui-pull-left"></a>  
      <h1 class="mui-title">標題</h1>  
    </header>  
    <div id="offCanvasContentScroll" class="mui-content mui-scroll-wrapper">  
      <div class="mui-scroll">  
        <!-- 主界面具體展示內容 -->  
        ...  
      </div>  
    </div>    
  </div>  
</div>  

從上面例子可以看出,側滑菜單和主體部分都添加了ID。

分別為:offCanvasSideScroll、offCanvasContentScroll。

 

2、其次在JS里面激活:

 

注意!這是至關重要的一步操作:

mui('#offCanvasSideScroll').scroll();  
mui('#offCanvasContentScroll').scroll();  

經過JS的初始化以后,現在超過高度即可進行下滑了。注意是超過高度!就像瀏覽器一樣,如果“ 主界面具體展示內容”沒有超出范圍,是沒有下滑功能的。

 

完整代碼如下:

 

<!DOCTYPE html>  
<html>  
<head>  
    <meta charset="utf-8">  
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />  
    <title></title>  
    <script src="http://dev.dcloud.net.cn/mui/dist/js/mui.min.js"></script>  
    <link href="http://dev.dcloud.net.cn/mui/dist/css/mui.min.css" rel="stylesheet"/>  
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>  
    <style type="text/css">  
        body{  
            background-color: #000000;  
        }  
        .mui-off-canvas-wrap{  
            max-width: 720px;  
            margin: 0 auto;  
        }  
    </style>  
</head>  
<body>  
    <!-- 側滑導航根容器 -->    
    <div class="mui-off-canvas-wrap mui-draggable">    
      <!-- 菜單容器 -->    
      <aside class="mui-off-canvas-left">    
        <div id="offCanvasSideScroll" class="mui-scroll-wrapper">    
          <div class="mui-scroll">    
            <!-- 菜單具體展示內容 -->    
            <div style="height:1000px">  
                  
            </div>  
          </div>    
        </div>    
      </aside>    
      <!-- 主頁面容器 -->    
      <div class="mui-inner-wrap">    
        <!-- 主頁面標題 -->    
        <header class="mui-bar mui-bar-nav">    
          <a id="left-menu" class="mui-icon mui-action-menu mui-icon-bars mui-pull-left"></a>    
          <h1 class="mui-title">標題</h1>    
        </header>    
        <div id="offCanvasContentScroll" class="mui-content mui-scroll-wrapper">    
          <div class="mui-scroll">    
            <!-- 主界面具體展示內容 -->    
            <div style="height:1000px">  
                  
            </div>  
          </div>    
        </div>      
      </div>    
    </div>  
      
    <script type="text/javascript" charset="utf-8">  
        $("#left-menu").on('tap', function (event) {  
            mui('.mui-off-canvas-wrap').offCanvas('show');  
        });  
          
        window.onload = function(){  
            mui('#offCanvasSideScroll').scroll();    
            mui('#offCanvasContentScroll').scroll();   
        }  
    </script>  
</body>  
</html>  

至此,mui側滑菜單主頁面內容的問題已解決,更多詳細內容,敬請關注 Q的前端世界。也可在評論區提出你的遇到的困難或更好建議。

 

本期分享就到這里,覺得內容不錯的小伙伴請點推薦,歡迎大家在評論下方評論區與博主互動,謝謝大家!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM