mui 頂部選項卡的兩種切換方式


mui 頂部選項卡的兩種切換方式

第一種main頁面

<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8">
        <title>Hello MUI</title>
        <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
        <meta name="apple-mobile-web-app-capable" content="yes">
        <meta name="apple-mobile-web-app-status-bar-style" content="black">
        <link rel="stylesheet" href="css/mui.min.css">
    </head>

    <body>
        <div class="mui-content">
            <div id="slider" class="mui-slider mui-fullscreen">
                <div id="sliderSegmentedControl" class="mui-scroll-wrapper mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
                    <div class="mui-scroll">
                        <a class="mui-control-item mui-active" href="direction.html" data-wid="tab-top-subpage-1.html">
                            推薦
                        </a>
                        <a class="mui-control-item" href="day_rank.html" data-wid="tab-top-subpage-2.html">
                            熱點
                        </a>
                    </div>
                </div>
            </div>
        </div>
        <script src="js/mui.min.js"></script>
        <script src="js/webviewGroup.js" type="text/javascript" charset="utf-8"></script>
        <script>
            mui.init();
            
            mui.plusReady(function() {
                var group = new webviewGroup("direction.html", {
                    items: [{
                        id: "direction.html",   //這是子頁1的路徑
                        url: "direction.html",
                        extras: {}
                    }, {
                        id: "day_rank.html",    //這是子頁2的路徑
                        url: "day_rank.html",
                        extras: {}
                    }],
                    onChange: function(obj) {
                        var c = document.querySelector(".mui-control-item.mui-active");
                        if(c) {
                            c.classList.remove("mui-active");
                        }
                        document.querySelector(".mui-scroll .mui-control-item:nth-child(" + (parseInt(obj.index) + 1) + ")").classList.add("mui-active");
                    }
                });
                mui(".mui-scroll").on("tap", ".mui-control-item", function(e) {
                    var wid = this.getAttribute("href");
                    group.switchTab(wid);
                });

            });
            mui.back = function() {
                var _self = plus.webview.currentWebview();
                _self.close("auto");
            }
        </script>
    </body>
</html>

index 頁面

 <script src="js/mui.min.js"></script>
    <script type="text/javascript">
        mui.init({
            subpages:[{                //下邊是初始化,然后這個頁面顯示我們將插入的頁面
                url:"main.html",
                id:"main.html",
                styles:{
                    top:"50px",
                    bottom:"0px"
                }
            }]
        });
        
    </script>

下面是第二種方式 通過JS來實現頁面內嵌( 缺陷, 每次點擊都會更行)

main頁面

<!doctype html>
<html lang="en" style='height:100%'>
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    <link rel="stylesheet" type="text/css" href="css/mui.css"/>

</head>
<body>
<div class="mui-content">
	
	  
	
		<div class="mui-segmented-control"style="width:90%;text-align: center;">
		    <a class="mui-control-item mui-btn-warning mui-active mui-btn-outlined" href="day_rank.html">選項卡1</a>
		    <a class="mui-control-item mui-btn-warning mui-btn-outlined" href="direction.html">選項卡2</a>
		</div>
		</div>
	

</div>

</body>
<script src="js/mui.js" type="text/javascript" charset="utf-8"></script>
	<script type="text/javascript">
	mui.init();
	//設置默認打開首頁顯示的子頁序號;
	var Index=0;
	//把子頁的路徑寫在數組里面
	var subpages = ['day_rank.html','direction.html'];
	
	//所有的plus-*方法寫在mui.plusReady中或者后面。
	mui.plusReady(function() {
	//獲取當前頁面所屬的Webview窗口對象
	var self = plus.webview.currentWebview();
	for (var i = 0; i < subpages.length; i++) {
	//創建webview子頁
	var sub = plus.webview.create(
	subpages[i], //子頁url
	subpages[i], //子頁id
	{
	top: '500px',//設置距離頂部的距離
	bottom: '100px'//設置距離底部的距離
	}
	
	
	);
	//如不是我們設置的默認的子頁則隱藏,否則添加到窗口中
	if (i != Index) {
	sub.hide();
	}
	//將webview對象填充到窗口
	self.append(sub);
	}
	});
	//當前激活選項
	var activeTab = subpages[Index],title=document.querySelector(".mui-title");
	//選項卡點擊事件
	mui('.mui-segmented-control').on('tap', 'a', function(e) {
	//獲取目標子頁的id
	var targetTab = this.getAttribute('href');
	if (targetTab == activeTab) {
	return;
	}
	//更換標題
//	title.innerHTML = this.querySelector('.mui-tab-label').innerHTML;
	//顯示目標選項卡
	
//獲取當前窗口對象
       var self=plus.webview.currentWebview();
      //如果是第一個頁面那么選擇 第一個頁面的樣式 第一個頁面底部有選項卡
      if(targetTab==subpages[0]){    
          //主頁面 index_style
      var sub=plus.webview.create('day_rank.html','day_rank.html',{top:'500px',bottom:'0px'});
      }else{
          //主頁面 其余頁面的樣式 subpage_style
      var sub=plus.webview.create('direction.html','direction.html',{top:'500px'});
       }
      //把子頁面添加到當前窗口對象里
       self.append(sub);
       //關閉當前窗口里面已經展示的頁面
       plus.webview.hide(activeTab);
       //要打開的頁面賦值給當前頁面留着下次使用
       activeTab=targetTab;
	});
  	
    document.getElementById('newslist').addEventListener("tap",function(){
      	     		
      	mui.openWindow('direction.html','direction.html',{
		      		styles:{
		      			top:'0px',
		      			bottom:"50px"
		      		},					
		      		})
      	})
      	
  	
</script>
</html>


免責聲明!

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



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