首先,需要了解一下jQuery的$.cookie()方法,它是用来操作cookie的轻量级插件,可以很方便地对cookie进行创建、读取和删除等操作。在这里,我们将利用$.cookie()方法来实现跨越页面tabs导航的功能。
首先,需要了解一下jQuery的$.cookie()方法,它是用来操作cookie的轻量级插件,可以很方便地对cookie进行创建、读取和删除等操作。在这里,我们将利用$.cookie()方法来实现跨越页面tabs导航的功能。
- 引入jQuery和jQuery Cookie插件
在HTML页面中需要先引入jQuery和jQuery Cookie插件的JS文件。
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.cookie/1.4.1/jquery.cookie.min.js"></script>
- 设置cookie
在点击tabs导航时,需要将当前选中的tab的信息保存到cookie中。这样,当用户重新加载页面或刷新页面时,我们就可以从cookie中读取上次选中的tab信息,并将其高亮显示。
// 保存当前选中的tab信息到cookie中
$('.nav-tabs a').click(function () {
var tab_id = $(this).attr('href');
$.cookie('selected_tab', tab_id);
$('.nav-tabs li').removeClass('active');
$(this).parent().addClass('active');
return false;
});
// 读取cookie中保存的tab信息并高亮显示
var selected_tab = $.cookie('selected_tab');
if (selected_tab != null) {
$('.nav-tabs li').removeClass('active');
$('a[href="' + selected_tab + '"]').parent().addClass('active');
}
- 示例说明:
(1)示例一:实现基本的tabs导航功能
在HTML中添加一个含有多个tab选项卡的导航条,然后通过jQuery实现选项卡的切换。
<ul class="nav nav-tabs">
<li class="active"><a href="#tab1">Tab 1</a></li>
<li><a href="#tab2">Tab 2</a></li>
<li><a href="#tab3">Tab 3</a></li>
</ul>
<div class="tab-content">
<div id="tab1" class="tab-pane fade in active">
<h3>Tab 1</h3>
<p>This is tab 1 content.</p>
</div>
<div id="tab2" class="tab-pane fade">
<h3>Tab 2</h3>
<p>This is tab 2 content.</p>
</div>
<div id="tab3" class="tab-pane fade">
<h3>Tab 3</h3>
<p>This is tab 3 content.</p>
</div>
</div>
<script>
$(document).ready(function(){
$('.nav-tabs a').click(function () {
var tab_id = $(this).attr('href');
$('.nav-tabs li').removeClass('active');
$(this).parent().addClass('active');
$('.tab-content div').removeClass('active');
$(tab_id).addClass('active');
});
});
</script>
运行效果:
(2)示例二:实现跨越页面的tabs导航功能
实现步骤和示例一相同,只需在第2步中添加$.cookie()的代码即可。
<ul class="nav nav-tabs">
<li><a href="#tab1">Tab 1</a></li>
<li><a href="#tab2">Tab 2</a></li>
<li><a href="#tab3">Tab 3</a></li>
</ul>
<div class="tab-content">
<div id="tab1" class="tab-pane fade">
<h3>Tab 1</h3>
<p>This is tab 1 content.</p>
</div>
<div id="tab2" class="tab-pane fade">
<h3>Tab 2</h3>
<p>This is tab 2 content.</p>
</div>
<div id="tab3" class="tab-pane fade">
<h3>Tab 3</h3>
<p>This is tab 3 content.</p>
</div>
</div>
<script>
$(document).ready(function(){
// 保存当前选中的tab信息到cookie中
$('.nav-tabs a').click(function () {
var tab_id = $(this).attr('href');
$.cookie('selected_tab', tab_id);
$('.nav-tabs li').removeClass('active');
$(this).parent().addClass('active');
$('.tab-content div').removeClass('active');
$(tab_id).addClass('active');
return false;
});
// 读取cookie中保存的tab信息并高亮显示
var selected_tab = $.cookie('selected_tab');
if (selected_tab != null) {
$('.nav-tabs li').removeClass('active');
$('a[href="' + selected_tab + '"]').parent().addClass('active');
$('.tab-content div').removeClass('active');
$(selected_tab).addClass('active');
}
});
</script>
运行效果:
首先点击tab2,再刷新页面,可以看到页面重新加载后保留了上次选中的tab信息并高亮显示。
本文标题为:基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
- JavaScript常用语句循环,判断,字符串换数字 2023-08-08
- javascript中href和replace的比较(详解) 2024-01-17
- HTML基本语法和语义写法规则与实例 2022-11-13
- 详解CSS透明opacity和IE各版本透明度滤镜filter的最准确用法 2024-02-05
- JS网页图片查看器(兼容IE、FF)可控制图片放大缩小移动 2024-01-16
- 纯CSS+Div 的标签实现代码 2024-01-02
- 口袋妖怪日月实用功能性精灵推荐 2024-02-04
- vue开发环境搭建 2023-10-08
- Photoshop CC给前端开发者怎样的体验?新特性介绍 2024-01-05
- BOM系列第三篇之定时器应用(时钟、倒计时、秒表和闹钟) 2023-12-01