jQuery实现Tab导航与页面滚动联动切换特效

作者:橙子

时间:2026-10-30

浏览:284

本文介绍使用jQuery实现的Tab选项卡与页面滚动联动特效。点击导航可平滑滚动至对应板块,同时页面滚动时导航栏自动高亮当前区域。文章提供了完整的JavaScript逻辑与HTML结构代码,适用于需要内容分区展示且希望提升用户体验的网页设计场景。

文章目录

jQuery Tab滚动联动特效概述

本文分享一个使用jQuery编写的Tab选项卡切换特效实例,供开发者参考。

该特效主要实现两个功能:一是点击顶部Tab导航时,页面平滑滚动至下方对应的内容板块;二是当用户通过鼠标滚动页面时,顶部的Tab导航会根据当前可视区域自动切换并高亮显示对应的板块。

jQuery Tab滚动联动特效概述

jQuery Tab滚动联动特效概述

JavaScript核心逻辑实现

在JavaScript实现上,分别处理了两个交互动作:一是点击导航链接时,计算目标板块位置并执行滚动动画;二是监听窗口滚动事件,根据当前滚动高度判断当前所在的板块,并更新Tab的高亮状态。具体JavaScript代码如下:


$(document).ready(function(){ 
 $('.switch-tab>li').click(function(){
  var s=$('.switch-tab>li').index(this);
  $('body,html').animate({scrollTop:$('.tab-content>.tab-panel:eq('+s+')').offset().top-50},200);
 });

 var DT=$('.switch-tab').offset().top;
 $(window).scroll(function(){
  var wt=$(window).scrollTop(),l=$('.tab-content>.tab-panel'),s=l.length-1;
  if(wt<DT||wt>=l.last().offset().top+l.last().height()+50){
   $('.switch-tab').removeClass('fixed');
   $('.switch-tab>li:first').addClass('active').siblings().removeClass('active');
  }else{
   $('.switch-tab').addClass('fixed');
   for(var i=0;i<s;i++){
    if(wt>=parseInt(l.eq(i).offset().top-50)&&wt<parseInt(l.eq(i+1).offset().top-50)){
     s=i;
     break;
    }
   }
   $('.switch-tab>li:eq('+s+')').addClass('active').siblings().removeClass('active');
  }
 });
});

HTML结构代码

对应的HTML结构如下:


<div class="switch-nav">
 <ul class="switch-tab">
  <li><a href="javascript:; ">拉托红酒</a></li>
  <li><a href="javascript:; ">法国酒庄风情</a></li>
  <li><a href="javascript:; ">红酒包装</a></li>
  <li><a href="javascript:; ">个性定制</a></li>
 </ul>
</div>

<div class="tab-content">
 <div class="tab-panel" id="cpxq">
  1111
 </div>
 <div class="tab-panel" id="cpxq">
  222
 </div>
 <div class="tab-panel" id="cpxq">
  333
 </div>
 <div class="tab-panel" id="cpxq">
  444
 </div>
</div>

以上就是本文的全部内容,希望对大家的学习有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章