vinck
vinck
  • 发布:2015-01-23 21:56
  • 更新:2016-06-23 11:43
  • 阅读:3283

可拖动式选项卡,怎么设置item自适应撑满整个屏幕?

分类:MUI

参考 tab-with-viewpagerindicator.html 文件,设置选项卡的高度是通过样式来处理的,
.mui-control-content {
background-color: white;
min-height: 100px;
}
如何让每个选项卡的内容自适应的撑满整个屏幕呢,麻烦解答下,谢谢了。

2015-01-23 21:56 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

下载1.1.0版本的mui
然后参考这个代码:https://github.com/dcloudio/mui/blob/master/examples/hello-mui/examples/tab-with-viewpagerindicator.html

vinck

vinck (作者)

下载了最新的mui,还有个问题,如果在有nav的某个选项内嵌入几个item,这个item不会展示,得单独改下样式style="position: static;"才可以显示内容,但是最后一条数据就不会展示了。

首页里的tabbar,下拉后"第一个选项卡子项-20"不会再屏幕内完全展示,麻烦再看看。

<!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">  
        <script src="../js/mui.min.js"></script>  
        <script src="../js/app.js"></script>  
        <style>  
            html,body {  
                background-color: #efeff4;  
            }  
            header.mui-bar{  
                display: none;  
            }  
            .mui-bar-nav~.mui-content{  
                padding-top: 0;  
            }  
            .title{  
                margin: 20px 15px 10px;  
                color: #6d6d72;  
                font-size: 15px;  
            }  

            .oa-contact-cell.mui-table .mui-table-cell {  
                padding: 11px 0;  
                vertical-align: middle;  
            }  

            .oa-contact-cell {  
                position: relative;  
                margin: -11px 0;  
            }  

            .oa-contact-avatar {  
                width: 75px;  
            }  
            .oa-contact-avatar img {  
                border-radius: 50%;  
            }  
            .oa-contact-content {  
                width: 100%;  
            }  
            .oa-contact-name {  
                margin-right: 20px;  
            }  
            .oa-contact-name, oa-contact-position {  
                float: left;  
            }  
        </style>  
        <script>  
            mui.init();  
        </script>  
    </head>  

    <body>  
        <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">选项卡(Tab)</h1>  
        </header>  
        <nav class="mui-bar mui-bar-tab">  
            <a class="mui-tab-item mui-active" href="#tabbar">  
                <span class="mui-icon mui-icon-home"></span>  
                <span class="mui-tab-label">首页</span>  
            </a>  
            <a class="mui-tab-item" href="#tabbar-with-chat">  
                <span class="mui-icon mui-icon-email"><span class="mui-badge">9</span></span>  
                <span class="mui-tab-label">消息</span>  
            </a>  
            <a class="mui-tab-item" href="#tabbar-with-contact">  
                <span class="mui-icon mui-icon-contact"></span>  
                <span class="mui-tab-label">通讯录</span>  
            </a>  
            <a class="mui-tab-item" href="#tabbar-with-map">  
                <span class="mui-icon mui-icon-gear"></span>  
                <span class="mui-tab-label">设置</span>  
            </a>  
        </nav>  
        <div class="mui-content">  
            <div id="tabbar" class="mui-control-content mui-active" style="position: static;">  
                <div id="slider" class="mui-slider mui-fullscreen">  
                <div id="sliderSegmentedControl" class="mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">  
                    <a class="mui-control-item mui-active" href="#item1mobile">  
                        待办公文  
                    </a>  
                    <a class="mui-control-item" href="#item2mobile">  
                        已办公文  
                    </a>  
                    <a class="mui-control-item" href="#item3mobile">  
                        全部公文  
                    </a>  
                </div>  
                <div id="sliderProgressBar" class="mui-slider-progress-bar mui-col-xs-4"></div>  
                <div class="mui-slider-group">  
                    <div id="item1mobile" class="mui-slider-item mui-control-content mui-active">  
                        <div id="scroll1" class="mui-scroll-wrapper">  
                            <div class="mui-scroll">  
                                <ul class="mui-table-view">  
                                    <li class="mui-table-view-cell">  
                                        第一个选项卡子项-1  
                                    </li>  
                                    <li class="mui-table-view-cell">  
                                        第一个选项卡子项-2  
                                    </li>  
                                    <li class="mui-table-view-cell">  
                                        第一个选项卡子项-3  
                                    </li>  
                                    <li class="mui-table-view-cell">  
                                        第一个选项卡子项-4  
                                    </li>  
                                    <li class="mui-table-view-cell">  
                                        第一个选项卡子项-5  
                                    </li>  
                                    <li class="mui-table-view-cell">  
                                        第一个选项卡子项-6  
                                    </li>  
                                    <li class="mui-table-view-cell">  
                                        第一个选项卡子项-7  
                                    </li>  
                                    <li class="mui-table-view-cell">  
                                        第一个选项卡子项-8  
                                    </li>  
                                    <li class="mui-table-view-cell">  
                                        第一个选项卡子项-9  
                                    </li>  
                                    <li class="mui-table-view-cell">  
                                        第一个选项卡子项-10  
                                    </li>  
                                    <li class="mui-table-view-cell">  
                                        第一个选项卡子项-11  
                                    </li>  
                                    <li class="mui-table-view-cell">  
                                        第一个选项卡子项-12  
                                    </li>  
                                    <li class="mui-table-view-cell">  
                                        第一个选项卡子项-13  
                                    </li>  
                                    <li class="mui-table-view-cell">  
                                        第一个选项卡子项-14  
                                    </li>  
                                    <li class="mui-table-view-cell">  
                                        第一个选项卡子项-15  
                                    </li>  
                                    <li class="mui-table-view-cell">  
                                        第一个选项卡子项-16  
                                    </li>  
                                    <li class="mui-table-view-cell">  
                                        第一个选项卡子项-17  
                                    </li>  
                                    <li class="mui-table-view-cell">  
                                        第一个选项卡子项-18  
                                    </li>  
                                    <li class="mui-table-view-cell">  
                                        第一个选项卡子项-19  
                                    </li>  
                                    <li class="mui-table-view-cell">  
                                        第一个选项卡子项-20  
                                    </li>  
                                </ul>  
                            </div>  
                        </div>  
                    </div>  
                    <div id="item2mobile" class="mui-slider-item mui-control-content">  
                        <div id="scroll2" class="mui-scroll-wrapper">  
                            <div class="mui-scroll">  
                                <div class="mui-loading">  
                                    <div class="mui-spinner">  
                                    </div>  
                                </div>  
                            </div>  
                        </div>  

                    </div>  
                    <div id="item3mobile" class="mui-slider-item mui-control-content">  
                        <div id="scroll3" class="mui-scroll-wrapper">  
                            <div class="mui-scroll">  
                                <div class="mui-loading">  
                                    <div class="mui-spinner">  
                                    </div>  
                                </div>  
                            </div>  
                        </div>  

                    </div>  
                </div>  
            </div>  

            </div>  
            <div id="tabbar-with-chat" class="mui-control-content">  
                <div class="title">这是div模式选项卡中的第2个子页面,该页面展示一个消息列表</div>  

                <ul class="mui-table-view mui-table-view-chevron">  
                    <li class="mui-table-view-cell"><a href="" class="mui-navigate-right">Item 1</a></li>  
                    <li class="mui-table-view-cell"><a href="" class="mui-navigate-right">Item 2</a></li>  
                    <li class="mui-table-view-cell"><a href="" class="mui-navigate-right">Item 3</a></li>  
                    <li class="mui-table-view-cell"><a href="" class="mui-navigate-right">Item 4</a></li>  
                    <li class="mui-table-view-cell"><a href="" class="mui-navigate-right">Item 5</a></li>  
                    <li class="mui-table-view-cell"><a href="" class="mui-navigate-right">Item 6</a></li>  
                    <li class="mui-table-view-cell"><a href="" class="mui-navigate-right">Item 7</a></li>  
                    <li class="mui-table-view-cell"><a href="" class="mui-navigate-right">Item 8</a></li>  
                    <li class="mui-table-view-cell"><a href="" class="mui-navigate-right">Item 9</a></li>  
                    <li class="mui-table-view-cell"><a href="" class="mui-navigate-right">Item 10</a></li>  
                    <li class="mui-table-view-cell"><a href="" class="mui-navigate-right">Item 11</a></li>  
                    <li class="mui-table-view-cell"><a href="" class="mui-navigate-right">Item 12</a></li>  
                    <li class="mui-table-view-cell"><a href="" class="mui-navigate-right">Item 13</a></li>  
                    <li class="mui-table-view-cell"><a href="" class="mui-navigate-right">Item 14</a></li>  
                    <li class="mui-table-view-cell"><a href="" class="mui-navigate-right">Item 15</a></li>  
                    <li class="mui-table-view-cell"><a href="" class="mui-navigate-right">Item 16</a></li>  
                    <li class="mui-table-view-cell"><a href="" class="mui-navigate-right">Item 17</a></li>  
                    <li class="mui-table-view-cell"><a href="" class="mui-navigate-right">Item 18</a></li>  
                    <li class="mui-table-view-cell"><a href="" class="mui-navigate-right">Item 19</a></li>  
                    <li class="mui-table-view-cell"><a href="" class="mui-navigate-right">Item 20</a></li>  
                </ul>  

            </div>  
            <div id="tabbar-with-contact" class="mui-control-content">  
                <div class="title">这是div模式选项卡中的第3个子页面,该页面展示一个通讯录示例.</div>  
                <ul class="mui-table-view mui-table-view-striped mui-table-view-condensed">  
                <li class="mui-table-view-cell">  
                    <div class="mui-slider-cell">  
                        <div class="oa-contact-cell mui-table">  
                            <div class="oa-contact-avatar mui-table-cell">  
                                <img src="../images/60x60.gif" />  
                            </div>  
                            <div class="oa-contact-content mui-table-cell">  
                                <div class="mui-clearfix">  
                                    <h4 class="oa-contact-name">解缙</h4>  
                                    <span class="oa-contact-position mui-h6">文化部长</span>  
                                </div>  
                                <p class="oa-contact-email mui-h6">  
                                    chunyu@sina.com  
                                </p>  
                            </div>  
                        </div>  
                    </div>  
                </li>  
                <li class="mui-table-view-cell">  
                    <div class="mui-slider-cell">  
                        <div class="oa-contact-cell mui-table">  
                            <div class="oa-contact-avatar mui-table-cell">  
                                <img src="../images/60x60.gif" />  
                            </div>  
                            <div class="oa-contact-content mui-table-cell">  
                                <div class="mui-clearfix">  
                                    <h4 class="oa-contact-name">张聪聪</h4>  
                                    <span class="oa-contact-position mui-h6">理事长</span>  
                                </div>  
                                <p class="oa-contact-email mui-h6">  
                                    zcc@163.com  
                                </p>  
                            </div>  
                        </div>  
                    </div>  
                </li>  
                <li class="mui-table-view-cell">  
                    <div class="mui-slider-cell">  
                        <div class="oa-contact-cell mui-table">  
                            <div class="oa-contact-avatar mui-table-cell">  
                                <img src="../images/60x60.gif" />  
                            </div>  
                            <div class="oa-contact-content mui-table-cell">  
                                <div class="mui-clearfix">  
                                    <h4 class="oa-contact-name">马三保</h4>  
                                    <span class="oa-contact-position mui-h6">海军司令</span>  
                                </div>  
                                <p class="oa-contact-email mui-h6">  
                                    zhenghe@126.com  
                                </p>  
                            </div>  
                        </div>  
                    </div>  
                </li>  
                <li class="mui-table-view-cell">  
                    <div class="mui-slider-cell">  
                        <div class="oa-contact-cell mui-table">  
                            <div class="oa-contact-avatar mui-table-cell">  
                                <img src="../images/60x60.gif" />  
                            </div>  
                            <div class="oa-contact-content mui-table-cell">  
                                <div class="mui-clearfix">  
                                    <h4 class="oa-contact-name">朱棣</h4>  
                                    <span class="oa-contact-position mui-h6">董事长</span>  
                                </div>  
                                <p class="oa-contact-email mui-h6">  
                                    zcc@163.com  
                                </p>  
                            </div>  
                        </div>  
                    </div>  
                </li>  
                <li class="mui-table-view-cell">  
                    <div class="mui-slider-cell">  
                        <div class="oa-contact-cell mui-table">  
                            <div class="oa-contact-avatar mui-table-cell">  
                                <img src="../images/60x60.gif" />  
                            </div>  
                            <div class="oa-contact-content mui-table-cell">  
                                <div class="mui-clearfix">  
                                    <h4 class="oa-contact-name">吴丽丽</h4>  
                                    <span class="oa-contact-position mui-h6">理事长</span>  
                                </div>  
                                <p class="oa-contact-email mui-h6">  
                                    wulili@dh.cn  
                                </p>  
                            </div>  
                        </div>  
                    </div>  
                </li>  
            </ul>  
            </div>  
            <div id="tabbar-with-map" class="mui-control-content">  
                <div class="title">这是div模式选项卡中的第4个子页面,该页面展示一个常见的设置示例.</div>  
                <ul class="mui-table-view">  
                <li class="mui-table-view-cell">  
                    <a class="mui-navigate-right">  
                        新消息通知  
                    </a>  
                </li>  
                <li class="mui-table-view-cell">  
                    <a class="mui-navigate-right">  
                        隐私  
                    </a>  
                </li>  
                <li class="mui-table-view-cell">  
                    <a class="mui-navigate-right">  
                        通用  
                    </a>  
                </li>  
            </ul>  
            <ul class="mui-table-view" style="margin-top: 25px;">  
                <li class="mui-table-view-cell">  
                    <a class="mui-navigate-right">  
                        关于mui  
                    </a>  
                </li>  
            </ul>  
            <ul class="mui-table-view" style="margin-top: 25px;">  
                <li class="mui-table-view-cell">  
                    <a style="text-align: center;color: #FF3B30;">  
                        退出登录  
                    </a>  
                </li>  
            </ul>  
            </div>  
        </div>  

<script>  
    mui.init({  
                swipeBack: false  
            });  
            (function($) {  
                $('.mui-scroll-wrapper').scroll({  
                    indicators: true //是否显示滚动条  
                });  
                var html2 = '<ul class="mui-table-view"><li class="mui-table-view-cell">第二个选项卡子项-1</li><li class="mui-table-view-cell">第二个选项卡子项-2</li><li class="mui-table-view-cell">第二个选项卡子项-3</li><li class="mui-table-view-cell">第二个选项卡子项-4</li><li class="mui-table-view-cell">第二个选项卡子项-5</li></ul>';  
                var html3 = '<ul class="mui-table-view"><li class="mui-table-view-cell">第三个选项卡子项-1</li><li class="mui-table-view-cell">第三个选项卡子项-2</li><li class="mui-table-view-cell">第三个选项卡子项-3</li><li class="mui-table-view-cell">第三个选项卡子项-4</li><li class="mui-table-view-cell">第三个选项卡子项-5</li></ul>';  
                var item2 = document.getElementById('item2mobile');  
                var item3 = document.getElementById('item3mobile');  
                document.getElementById('slider').addEventListener('slide', function(e) {  
                    if (e.detail.slideNumber === 1) {  
                        if (item2.querySelector('.mui-loading')) {  
                            setTimeout(function() {  
                                item2.querySelector('.mui-scroll').innerHTML = html2;  
                            }, 1000);  
                        }  
                    } else if (e.detail.slideNumber === 2) {  
                        if (item3.querySelector('.mui-loading')) {  
                            setTimeout(function() {  
                                item3.querySelector('.mui-scroll').innerHTML = html3;  
                            }, 1000);  
                        }  
                    }  
                });  
                var sliderSegmentedControl = document.getElementById('sliderSegmentedControl');  
                $('.mui-input-group').on('change', 'input', function() {  
                    if (this.checked) {  
                        sliderSegmentedControl.className = 'mui-slider-indicator mui-segmented-control mui-segmented-control-inverted mui-segmented-' + this.value;  
                        //force repaint  
                        sliderProgressBar.setAttribute('style', sliderProgressBar.getAttribute('style'));  
                    }  
                });  
            })(mui);  
</script>  
</body>  

</html>
DCloud_UNI_FXY

DCloud_UNI_FXY

下个版本修复此问题,目前你可以手动加一个css

.mui-bar-tab~.mui-content .mui-slider.mui-fullscreen .mui-segmented-control~.mui-slider-group {  
  bottom: 50px;  
}
  • vinck (作者)

    谢谢。

    2015-01-24 21:01

X灬X

X灬X

mui.plusReady(function(){  
    mui('.mui-scroll-wrapper').scroll({  
        indicators: true //是否显示滚动条  
    });  
    var resolutionHeight = window.innerHeight;  
    resolutionHeight = resolutionHeight-100;  
    document.getElementById("item1mobile").setAttribute("style","min-height:"+resolutionHeight+"px;");  
    document.getElementById("item2mobile").setAttribute("style","min-height:"+resolutionHeight+"px;");  
})

获取屏幕高度减去上面占的高度用js设置

X灬X

X灬X

mui.plusReady(function(){  
    mui('.mui-scroll-wrapper').scroll({  
        indicators: true //是否显示滚动条  
    });  
    var resolutionHeight = window.innerHeight;  
    resolutionHeight = resolutionHeight-100;  
    document.getElementById("item1mobile").setAttribute("style","min-height:" resolutionHeight "px;");  
    document.getElementById("item2mobile").setAttribute("style","min-height:" resolutionHeight "px;");  
})

获取屏幕高度减去上面占的高度用js设置

该问题目前已经被锁定, 无法添加新回复