提问人:Michael 提问时间:3/21/2023 更新时间:3/21/2023 访问量:91
记住页面刷新时上次单击的选项卡 [重复]
Remember last clicked tab on page refresh [duplicate]
问:
一直试图让浏览器记住最后一个活动选项卡,但无法正确。
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");
}
还是没用
答:
-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
那不是我的意思......这个问题之前已经问过了(这是一个重复的 - 请参阅我对问题本身的评论)。当已经有答案时,发布答案是可以的,如果你的答案在现有的答案上做了一些广告。但是,如果一个问题与已经回答的旧问题完全相同,则应将其作为副本关闭,并且不再回答。
评论