4

当我的页面刷新时,我希望能够返回到用户上次使用的选项卡。当前的 api 文档不再提及 cookie 来进行选项卡选择。现在如何使用 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>
4

3 回答 3

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") })
});
于 2013-02-07T22:14:20.723 回答
0
$("#tabs").tabs({ cookie: { expires: 30} });
于 2013-02-07T21:59:34.540 回答
0

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

  1. 打开文件
  2. 搜索this.anchors.bind("click.tabs",function(){return!1})}
  3. 用。。。来代替this.anchors.bind("click.tabs",function(){})}

刷新你的页面就好了

于 2014-03-11T20:15:23.353 回答