当我的页面刷新时,我希望能够返回到用户最后一次打开的选项卡.当前的api文档不再提及cookie来进行选项卡选择了.现在如何使用cookies来实现这一目标?
<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>
Run Code Online (Sandbox Code Playgroud)
所以这就是我想出来的.当用户激活选项卡时,将使用所选选项卡的索引设置cookie.初始化选项卡窗口小部件时,将从cookie中读取值并加载.即使cookie不存在,这似乎仍然有效,并且仅在cookie存在时加载用户上次选择的选项卡.
$("#tabs").tabs({
activate: function( event, ui ) {
$.cookie("tabs_selected", $("#tabs").tabs("option","active"));
},
active: $("#tabs").tabs({ active: $.cookie("tabs_selected") })
});
Run Code Online (Sandbox Code Playgroud)