不同tab下的列表长度不同,tab的样式和底部的位置不同

要求:当点击不同的tab时,被点击的tab样式不同,产生不同的列表。当列表长度大于屏幕高度时,底部随列表显示;当列表长度小于屏幕高度时,底部固定在屏幕的底部。

demo:

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport"
          content="width=device-width,initial-scale=1,minimum-scale=1, maximum-scale=1,minimal-ui, user-scalable=no"/>
    <script src="./zepto.js"></script>
    <style>
        body, div, p, ol, li, ul {
            margin: 0;
            padding: 0;
            font-style: normal;
        }

        html, body {
            width: 100%;
            /* 避免动画等撑开窗口 */
            overflow-x: hidden;
        }

        .head {
            width: 100%;
            padding: 10px;
            background: #f4f4f4;
            text-align: center;
        }

        .tab {
            display: -webkit-box;
        }

        .tab-item {
            -webkit-box-flex: 1;
            padding: 10px;
            background: #ccc;
            text-align: center;
        }

        .click-tab {
            color: #f00;
            border-bottom: 1px solid #f00;
        }

        .cont {
            display: none;
        }

        .foot {
            position: absolute;
            visibility: hidden;
            width: 100%;
            bottom: 0;
            padding: 10px;
            background: #f4f4f4;
            text-align: center;
        }
    </style>
</head>
<body>
<div class="head">
    This is head.
</div>
<div class="tab">
    <div class="tab-item click-tab">1111</div>
    <div class="tab-item">2222</div>
    <div class="tab-item">3333</div>
</div>
<div>
    <div class="cont cont0" style='display:block;'>
        fdkjafdsla<br/><br/>
        fdkjafdsla<br/><br/>
        fdkjafdsla<br/><br/>
        fdkjafdsla<br/><br/>
        fdkjafdsla<br/><br/>
        fdkjafdsla<br/><br/>
        fdkjafdsla<br/><br/>
        fdkjafdsla<br/><br/>
        fdkjafdsla<br/><br/>
        fdkjafdsla<br/><br/>
        fdkjafdsla<br/><br/>
        fdkjafdsla<br/><br/>
        fdkjafdsla<br/><br/>
        fdkjafdsla<br/><br/>
        fdkjafdsla<br/><br/>
        fdkjafdsla<br/><br/>
        fdkjafdsla<br/><br/>
        fdkjafdsla<br/><br/>
        fdkjafdsla<br/><br/>
        fdkjafdsla<br/><br/>
        fdkjafdsla1<br/><br/>
    </div>
    <div class="cont cont1">
        222222222222222222222222<br/>
        222222222222<br/>
    </div>
    <div class="cont cont2">
        33
    </div>
</div>
<div class="foot">This is foot.</div>
<script>
    var body = $('body');
    var bodyH = body.height();
    var clientH = $(window).height();
    var foot = $('.foot');
    var footH = foot.height();

    body.css({
        'minHeight': clientH - footH,
        'position': 'relative',
        'paddingBottom': footH

    });
    foot.css({
        'visibility': 'visible'
    });

    var tabItem = $('.tab-item');
    tabItem.click(function () {
        var me = $(this);
        var index = me.index();
        me.siblings().removeClass('click-tab');
        me.addClass('click-tab');
        $('.cont').hide();
        $('.cont' + index).show();
    });
</script>
</body>
</html>

显示:

     

原文地址:https://www.cnblogs.com/mywaystrech/p/4929857.html