mui底部選項卡的兩種模式

div模式

DIV模式是將所有子頁面的內容,分別放置到主頁不同的DIV中,當我們點擊主頁的不同選項卡時,切換不同DIV的顯示。 這種方式顯然要比加載子頁的方式快很多,但是也顯然不能承載很多佈局的頁面,畢竟要在一個主頁中寫入所有子頁面的代碼,顯得不太現實。

        <header class="mui-bar mui-bar-nav">
            <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
            <h1 class="mui-title">底部選項卡切換(Div模式)</h1>
        </header>
        
        <nav class="mui-bar mui-bar-tab">
            <a class="mui-tab-item mui-active" href="#page1">
                <span class="mui-icon mui-icon-home"></span>
                <span class="mui-tab-label">首頁</span>
            </a>
            <a class="mui-tab-item" href="#page2">
                <span class="mui-icon mui-icon-phone"></span>
                <span class="mui-tab-label">電話</span>
            </a>
            <a class="mui-tab-item" href="#page3">
                <span class="mui-icon mui-icon-email"></span>
                <span class="mui-tab-label">郵件</span>
            </a>
            <a class="mui-tab-item" href="#page4">
                <span class="mui-icon mui-icon-gear"></span>
                <span class="mui-tab-label">設置</span>
            </a>
        </nav>
        
        
        <div class="mui-content">
            <div id="page1" class="mui-control-content mui-active">
                這是第一個頁面
            </div>
            <div id="page2" class="mui-control-content">
                這是第二個頁面
            </div>
            <div id="page3" class="mui-control-content">
                這是第三個頁面
            </div>
            <div id="page4" class="mui-control-content">
                這是第四個頁面
            </div>
        </div>

webview模式

WebView模式則是將所有子頁面都寫入到不同的子頁面中,再通過主頁連接到一起,點擊不同的選項卡 ,加載不同的子頁面,顯然這種方式更符合我們的預期和要求。

此模式只能在模擬器和真機上運行,

	<body>
		<div class="mui-content">
		</div>
		<nav id="bar" class="mui-bar mui-bar-tab">
			<a class="mui-tab-item mui-active" href="activity/actlist.html" data-id="task">
				<span class="mui-icon mui-icon-compose"></span>
				<span class="mui-tab-label">待辦</span>
			</a>
			<a class="mui-tab-item" href="work.html" data-id="work">
				<span class="mui-icon mui-icon-chatboxes"></span>
				<span class="mui-tab-label">工作</span>
			</a>
			<a class="mui-tab-item" href="my/homepage.html" data-id="mysetting">
				<span class="mui-icon mui-icon-gear-filled"></span>
				<span class="mui-tab-label">我的</span>
			</a>
		</nav>
	</body>

js部分

	<script src="../js/mui.min.js"></script>
	<script>
		mui.init();
		mui.plusReady(function() {
			var self = plus.webview.currentWebview();
			var current = '';
			var styles = {
				top: '0',
				bottom: '51px'
			};
			var tabsConfig = {
				task: {
					url: 'activity/actlist.html',
					styles: styles,
					default: true
				},
				work: {
					url: 'work.html',
					styles: styles
				},
				mysetting: {
					url: 'my/homepage.html',
					styles: styles
				}
			};
			var tabs = {};
			for (id in tabsConfig) {
				tabs[id] = plus.webview.create(tabsConfig[id].url, id, tabsConfig[id].styles);
				if (tabsConfig[id]['default']) {
					self.append(tabs[id]);
					current = id;
				}
			}
			mui('#bar').on('tap', 'a', function(e) {
				if (current == this.dataset.id) {
					return;
				}
				tabs[this.dataset.id].show();
				tabs[current].hide();
				current = this.dataset.id;
			});
		});
	</script>

demo

參考博客:
MUI框架開發HTML5手機APP(二)–頁面跳轉傳值&底部選項卡切換
一個底部選項卡的實現(webview模式)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章