如何模仿jquery UI选项卡

时间:2012-02-10 03:04:25

标签: jquery jquery-ui jquery-mobile

我需要在我的jquery移动应用程序中使用选项卡。我查看了jquerymobile中的navbars,但它打开了一个完全不同的页面。而jquery UI在同一页面中打开选项卡。有什么方法可以模仿这种行为。 感谢

请注意,由于缺乏更好的术语,我要求将jquerymobile导航栏的行为转换为UI标签的行为

2 个答案:

答案 0 :(得分:2)

以下是如何使用navbar模仿标签行为的示例。它只是一个基本的东西,需要更多的工作才能使其完美。但我认为它可以作为一个起点。

<!DOCTYPE html> 
<html> 
    <head> 
    <title>My Page</title> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" />
    <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
    <script>
        var prevSelection = "tab1";
        $("#navbar ul li").live("click",function(){
            var newSelection = $(this).children("a").attr("data-tab-class");
            $("."+prevSelection).addClass("ui-screen-hidden");
            $("."+newSelection).removeClass("ui-screen-hidden");
            prevSelection = newSelection;
        });
    </script>
    <script src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js"></script>
    <style>
        .tab-content{
            width:100%;
            height:250px;
            background-color:white;
            border-bottom-left-radius:0.5em;
            border-bottom-right-radius:0.5em;
        }
        .tab-content>div{
            padding:5px;
        }                   

    </style>
    </head> 

    <body> 
        <div data-role="page">

        <div data-role="header">
        <h1>My Title</h1>
        </div><!-- /header -->

        <div data-role="content">   
            <div data-role="navbar" id="navbar">
                <ul>
                    <li><a href="#" class="ui-btn-active" data-tab-class="tab1">Tab1</a></li>
                    <li><a href="#" data-tab-class="tab2">Tab2</a></li>
                    <li><a href="#" data-tab-class="tab3">Tab3</a></li>
                    <li><a href="#" data-tab-class="tab4">Tab4</a></li>
                </ul>
            </div>
            <div class="tab-content">
                <div class="tab1">
                    Tab1
                </div>
                <div class="tab2 ui-screen-hidden">
                    Tab2
                </div>
                <div class="tab3 ui-screen-hidden">
                    Tab3
                </div>
                <div class="tab4 ui-screen-hidden">
                    Tab4
                </div>
            </div>
        </div><!-- /content -->

        </div><!-- /page -->
    </body>
</html>

此处的演示 - http://jsfiddle.net/m8wQM/

如果有帮助,请告诉我。

答案 1 :(得分:0)

尝试这项正在进行中的JQM扩展程序:http://www.stokkers.mobi/jqm/tabview/tab.html

这是JQM网格和可折叠集的混合体。我正在进行更新(没有最小高度要求,突出显示标签颜色,1,2,3,4,5标签),但是我会把它放在Github上一段时间。完成后,我也会转发到这里。