繁体   English   中英

刷新页面后,jquery中是否有任何功能可保持相同的选项卡

[英]Is there any function in jquery to remain same tab after refreshing the page

大家好,我有一个基本的jquery标签。 即使重新加载页面后,我也希望保留在同一选项卡上。 我尝试了本地存储方法,但是不起作用。 请提出一些建议以摆脱它`

jQuery(document).ready(function() {
jQuery('.tabs .tab-links a').on('click', function(e)  {
var currentAttrValue = jQuery(this).attr('href');

// Show/Hide Tabs

  jQuery('.tabs ' + currentAttrValue).siblings().slideUp(400);
  jQuery('.tabs ' + currentAttrValue).delay(400).slideDown(400);
  // Change/remove current tab to active
  jQuery(this).parent('li').addClass('active').siblings().removeClass('active');

  e.preventDefault();
});
});

为此,您可以做一件事:

  1. 导航到选项卡时,在其上使用#hashbang 即,不要return false; event.preventDefault();
  2. 基于window.location.hash ,获取当前选项卡并在DOMReady上将其激活。

片段

 $(function () { $(".tab:not(#tab1)").hide(); $(".tabs li a").click(function () { $(".tab:visible").hide(); $(".active").removeClass("active"); $($(this).attr("href")).show(); $(this).addClass("active"); }); if (window.location.hash.length > 0) { $(".tab:visible").hide(); $(".active").removeClass("active"); $(window.location.hash).show(); $('a[href="' + window.location.hash + '"]').addClass("active"); } }); 
 * {margin: 0; padding: 0; list-style: none; font-family: 'Segoe UI';} .tabs li {display: inline-block;} .tabs li a {text-decoration: none; display: block;} .tabs li a.active {font-weight: bold;} 
 <script src="https://code.jquery.com/jquery-1.9.1.min.js"></script> <ul class="tabs"> <li><a href="#tab1" class="active">Tab 1</a></li> <li><a href="#tab2">Tab 2</a></li> <li><a href="#tab3">Tab 3</a></li> </ul> <div class="tabcontent"> <div class="tab" id="tab1">Tab 1 Contents</div> <div class="tab" id="tab2">Tab 2 Contents</div> <div class="tab" id="tab3">Tab 3 Contents</div> </div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM