记住页面刷新时上次单击的选项卡 [重复]

Remember last clicked tab on page refresh [duplicate]

提问人:Michael 提问时间:3/21/2023 更新时间:3/21/2023 访问量:91

问:

一直试图让浏览器记住最后一个活动选项卡,但无法正确。

function ShowMyDiv(Obj){
  var elements = document.getElementsByTagName('div');
 for (var i = 0; i < elements.length; i++) 
  if(elements[i].className=='tabcontent')
   elements[i].style.display= 'none';

 document.getElementById(Obj.rel).style.display= 'block';
 //------------------------------------

  var ul_el = document.getElementById('mytab_ul');
  var li_el = ul_el.getElementsByTagName('li');
 for (var i = 0; i < li_el.length; i++) 
  li_el[i].className="";

 Obj.parentNode.className="selected";
}

JAVASCRIPT的

<ul id="mytab_ul" class="mytabs">
    <li class="selected"><a rel="tab_data" href="#data" onclick="javascript:ShowMyDiv(this);">Data</a></li>
    <li class=""><a rel="tab_vtu" href="#vtu" onclick="javascript:ShowMyDiv(this);">Vtu</a></li>
    <li class=""><a rel="tab_cabletv" href="#ctv" onclick="javascript:ShowMyDiv(this);">CTv</a></li>
    <li class=""><a rel="tab_nepa" href="#npa" onclick="javascript:ShowMyDiv(this);">NPA</a></li>
    <li class=""><a rel="tab_exampin" href="#pin" onclick="javascript:ShowMyDiv(this);">Pin</a></li>
    <li class=""><a rel="tab_spectranet" href="#spectranet" onclick="javascript:ShowMyDiv(this);">Spectranet</a></li>
    <li class=""><a rel="tab_smile" href="#smile" onclick="javascript:ShowMyDiv(this);">Smile</a></li>
    <li class=""><a rel="tab_a2cash" href="#cash" onclick="javascript:ShowMyDiv(this);">Cash</a></li>
</ul>

[HTML全文]

请问我该怎么做?

我尝试将其添加到我的 JS 中

var selectedTab =  window.location.href.split("#")[1] ;
    var selectedId = $('a[href$=' + selectedTab+']:first').attr('rel');

    if (typeof selectedId === "undefined") {
         $('#tab_data').trigger("click");
    }
    else{
        $('#'+selectedId).trigger("click");
    }

还是没用

javascript jquery-ui-tabs

答:

-1赞 Adi L 3/21/2023 #1

如何利用浏览器的本地存储? 单击选项卡后,您可以设置项目:

localstorage.setItem("activeTab", tabId)

在页面加载时,您可以获得该项目

 localstorage.getItem("activeTab")

编号: https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

评论

0赞 Michael 3/21/2023
你能检查一下 codepen.io/Ogmic/pen/poOxobw
0赞 MrUpsidown 3/21/2023
请避免回答已经回答的问题。
1赞 Adi L 3/21/2023
@Michael请查看 CodePen codepen.io/adi-dui-levy/pen/LYJgEXx
0赞 Adi L 3/21/2023
@MrUpsidown Oh Apologies!,当我开始写我的回复时,还没有发布其他回复
0赞 MrUpsidown 3/21/2023
那不是我的意思......这个问题之前已经问过了(这是一个重复的 - 请参阅我对问题本身的评论)。当已经有答案时,发布答案是可以的,如果你的答案在现有的答案上做了一些广告。但是,如果一个问题与已经回答的旧问题完全相同,则应将其作为副本关闭,并且不再回答。