如何使用当前版本的jquery ui记住活动选项卡

时间:2013-02-07 21:22:01

标签: jquery jquery-ui

当我的页面刷新时,我希望能够返回到用户最后一次打开的选项卡。当前的api文档不再提及cookie来进行选项卡选择了。现在用饼干怎么做?

<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>jQuery UI Tabs - Default functionality</title>
        <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.0/themes/base/jquery-ui.css" />
        <script src="http://code.jquery.com/jquery-1.8.3.js"></script>
        <script src="http://code.jquery.com/ui/1.10.0/jquery-ui.js"></script>
        <link rel="stylesheet" href="/resources/demos/style.css" />
        <script>
            $(function() {
                $("#tabs").tabs();
            });
        </script>
    </head>
    <body>
        <div id="tabs">
            <ul>
                <li><a href="#tabs-1">Nunc tincidunt</a></li>
                <li><a href="#tabs-2">Proin dolor</a></li>
                <li><a href="#tabs-3">Aenean lacinia</a></li>
            </ul>
            <div id="tabs-1">
                <p>Tab 1 text</p>
            </div>
            <div id="tabs-2">
                <p>Tab 2 text</p>
            </div>
            <div id="tabs-3">
                <p>Tab 3 text</p>
            </div>
        </div>
    </body>
</html>

3 个答案:

答案 0 :(得分:6)

所以这就是我想出来的。当用户激活选项卡时,将使用所选选项卡的索引设置cookie。初始化选项卡窗口小部件时,将从cookie中读取值并加载。即使cookie不存在,这似乎也能正常工作,只加载用户在cookie存在时最后选择的选项卡。

$("#tabs").tabs({
    activate: function( event, ui ) {
        $.cookie("tabs_selected", $("#tabs").tabs("option","active"));
    },
    active: $("#tabs").tabs({ active: $.cookie("tabs_selected") })
});

答案 1 :(得分:0)

$("#tabs").tabs({ cookie: { expires: 30} });

答案 2 :(得分:0)

你可以编辑jquery-ui.js文件

  1. 打开文件
  2. 搜索this.anchors.bind("click.tabs",function(){return!1})}
  3. 替换为this.anchors.bind("click.tabs",function(){})}
  4. 刷新您的页面 没关系