Jquery UI Accordion打开一个新创建的选项卡(简单操作)

时间:2012-06-25 20:08:50

标签: jquery jquery-ui jquery-ui-accordion jquery-tabs

我正在使用Jquery UI。我有一个手风琴菜单,每个手风琴菜单中都有多个超链接。

我想要做的是,当我点击其中一个超链接时,我希望它打开我正在调用的页面,即要在一个可以用x关闭的新选项卡中显示(如这些简单的操作),但在一个新的标签显示。

我的目标是通过选择手风琴中的不同超链接选项打开已启动的mupliple标签,以便用户在需要时关闭它们。

我还没有找到关于如何做到这一点的任何事情。

有人可以帮忙。

由于

1 个答案:

答案 0 :(得分:0)

嗨,我想我已经解决了。感谢您回复@johnrobinson

我用一个按钮做了这个,但会做我需要的。

        <!DOCTYPE html>
        <html>
            <head>
                <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                <title>jQuery UI Example Page</title>
                <link type="text/css" href="css/custom-theme/jquery-ui-1.8.20.custom.css" rel="stylesheet" />
                <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
                <script type="text/javascript" src="js/jquery-ui-1.8.20.custom.min.js"></script>
                <script type="text/javascript" src="js/jquery.callapse.js"></script>
            <meta charset="utf-8">
            <style>
            #dialog label, #dialog input { display:block; }
            #dialog label { margin-top: 0.5em; }
            #dialog input, #dialog textarea { width: 95%; }
            #tabs { margin-top: 1em; }
            #tabs li .ui-icon-close { float: left; margin: 0.4em 0.2em 0 0; cursor: pointer; }
            #add_tab { cursor: pointer; }
            </style>
            <script>
            $(function() {
                var $tab_title_input = $( "#tab_title"),
                    $tab_content_input = $( "#tab_content" );
                var tab_counter = 2;

                // tabs init with a custom tab template and an "add" callback filling in the content
                var $tabs = $( "#tabs").tabs({
                    tabTemplate: "<li><a href='#{href}'>#{label}</a> <span class='ui-icon ui-icon-close'>Remove Tab</span></li>",
                    add: function( event, ui ) {
                        var tab_content = "andyContent" || "Tab " + tab_counter + " content.";
                        $( ui.panel ).append( "<p>" + tab_content + "</p>" );
                    }
                });

                // modal dialog init: custom buttons and a "close" callback reseting the form inside
                var $dialog = $( "#dialog" ).dialog({
                    autoOpen: false,
                    modal: true,
                    buttons: {
                        Add: function() {
                            addTab();
                            $( this ).dialog( "close" );
                        },
                        Cancel: function() {
                            $( this ).dialog( "close" );
                        }
                    },
                    open: function() {
                        $tab_title_input.focus();
                    },
                    close: function() {
                        $form[ 0 ].reset();
                    }
                });

                // actual addTab function: adds new tab using the title input from the form above
                function addTab() {
                    var tab_title = "andytitle" || "Tab " + tab_counter;
                    $tabs.tabs( "add", "#tabs-" + tab_counter, tab_title );
                    tab_counter++;
                }

                // addTab button: just opens the dialog
                $( "#add_tab" )
                    .button()
                    .click(function() {
                    addTab();

                    });

                // close icon: removing the tab on click
                // note: closable tabs gonna be an option in the future - see http://dev.jqueryui.com/ticket/3924
                $( "#tabs span.ui-icon-close" ).live( "click", function() {
                    var index = $( "li", $tabs ).index( $( this ).parent() );
                    if(index != 0){
                                $tabs.tabs( "remove", index );
                    }

                });
            });
            </script>
        </head>
        <body>
            <div class="demo">
                <button id="add_tab">Add Tab</button>
                    <div id="tabs">
                        <ul>
                            <li><a href="#tabs-1">Nunc tincidunt</a> </li>
                        </ul>
                    <div id="tabs-1">
                        <p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.</p>
                    </div>
            </div>
        </body>
        </html>

        </div>