刷新

时间:2015-08-03 18:06:26

标签: javascript jquery html ajax jquery-ui

我使用jquery ui作为我的网站的导航,在每个标签页面中,我将一些链接放到基本上由ajax动态加载的页面上。除了一个问题,每件事情都很好!

  

问题

我的问题是,当我点击其他第一个标签并点击我的浏览器刷新时,它会将我带回默认的第一个标签。正如我所说,我使用这些选项卡内的链接,这些链接应该是我的网站的导航,但有这个问题,这是不好的!例如,如果我单击选项卡two,然后单击其中的任何一个链接,即SubMenu 1.1及其正常工作和加载内容,但当我点击浏览器刷新按钮时会发生什么,它会将我带回选项卡{ {1}}虽然我仍处于标签one two 这是代码。

SubMenu 1.1

也使用了本地存储,但它不支持浏览器支持 <div id="tabs"> <ul> <li><a href="#fragment-1"><span>One</span></a></li> <li><a href="#fragment-2"><span>Two</span></a></li> <li><a href="#fragment-3"><span>Three</span></a></li> </ul> <div id="fragment-1"> <ul> <li><a href="#SubMenu 1.1">SubMenu 1.1</a></li> <li><a href="#SubMenu 1.2">SubMenu 1.2</a></li> <li><a href="#SubMenu 1.3">SubMenu 1.3</a></li> <li><a href="#SubMenu 1.4">SubMenu 1.4</a></li> <li><a href="#SubMenu 1.5">SubMenu 1.5</a></li> <ul> </div> <div id="fragment-2"> <ul> <li><a href="#SubMenu 2.1">SubMenu 2.1</a></li> <li><a href="#SubMenu 2.2">SubMenu 2.2</a></li> <li><a href="#SubMenu 2.3">SubMenu 2.3</a></li> <li><a href="#SubMenu 2.4">SubMenu 2.4</a></li> <li><a href="#SubMenu 2.5">SubMenu 2.5</a></li> </ul> </div> <div id="fragment-3"> <ul> <li><a href="#SubMenu 3.1">SubMenu 3.1</a></li> <li><a href="#SubMenu 3.2">SubMenu 3.2</a></li> <li><a href="#SubMenu 3.3">SubMenu 3.3</a></li> <li><a href="#SubMenu 3.4">SubMenu 3.4</a></li> <li><a href="#SubMenu 3.5">SubMenu 3.5</a></li> </ul> </div> </div> firefox 39chrome 43

Ie 11

也在if(window.localStorage!==undefined){ var selected=0; if(localStorage.currentTab){ selected=Number(localStorage.currentTab) }else{ localStorage.currentTab=0; } $("#tabs").tabs({ selected: selected, select: function(event, ui) { localStorage.currentTab=ui.index } });//Do something }else{ alert('Your browser is outdated therefore not supported local stroage!'); } 的官方网站上使用了这个值,但价格不同,但没有按照我想要的方式运作。

jquery ui

帮助将非常感激。感谢

1 个答案:

答案 0 :(得分:0)

使用active属性而不是selected

activate代替selected处理程序。

ui.index未定义,因为ui对象上没有该属性。

而是使用$(ui.newTab[0]).index() - jQuery对象为您提供当前li,您可以获得它的索引。

$("#tabs").tabs({ 
   active: selected,
   activate: function(event, ui) {
     localStorage.currentTab = $(ui.newTab[0]).index()
   }
});

始终使用开发人员工具来调试或检查是否存在任何错误。这让生活更轻松。

<强> jSFiddle