jquery编写Tab选项卡滚动导航切换特效


Posted in Javascript onJuly 17, 2020

本文实例为大家分享jquery编写Tab选项卡切换特效,供大家参考,具体内容如下

效果说明:点击tab导航,页面滑动到下方相应板块。并且当页面通过鼠标滚动下去时,上方的tab也可以自动切换到当前位置的板块上。

jquery编写Tab选项卡滚动导航切换特效

jquery编写Tab选项卡滚动导航切换特效

代码说明:js中对两个动作分别写,一个是tab点击下滑到相应板块位置;一个是鼠标滚动下去的时候tab判定当前页面滚动高度切换tab。
js:

$(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:

<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>

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

Javascript 相关文章推荐
Javascript中定义方法的另类写法(批量定义js对象的方法)
Feb 25 Javascript
JavaScript自定义日期格式化函数详细解析
Jan 14 Javascript
一个简单的jQuery计算器实现了连续计算功能
Jul 21 Javascript
jquery实现标签上移、下移、置顶
Apr 26 Javascript
有关jquery与DOM节点操作方法和属性记录
Apr 15 Javascript
javaScript事件机制兼容【详细整理】
Jul 23 Javascript
angularjs利用directive实现移动端自定义软键盘的示例
Sep 20 Javascript
深入理解 Koa 框架中间件原理
Oct 18 Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
Oct 18 Javascript
vue使用pdfjs显示PDF可复制的实现方法
Dec 14 Javascript
解决layer.msg 不居中 ifram中的问题
Sep 05 Javascript
微信小程序错误this.setData报错及解决过程
Sep 18 Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
Apr 07 #Javascript
jQuery实现简单滚动动画效果
Apr 07 #Javascript
基于javascript bootstrap实现生日日期联动选择
Apr 07 #Javascript
原生js制作日历控件实例分享
Apr 06 #Javascript
基于HTML模板和JSON数据的JavaScript交互(移动端)
Apr 06 #Javascript
JavaScript中实现无缝滚动、分享到侧边栏实例代码
Apr 06 #Javascript
jQuery实现内容定时切换效果完整实例
Apr 06 #Javascript
You might like
PHP分页显示制作详细讲解
2008/11/19 PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
2016/09/30 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
2019/05/09 PHP
JavaScript性能陷阱小结(附实例说明)
2010/12/28 Javascript
关于COOKIE个数与大小的问题
2011/01/17 Javascript
JS 模态对话框和非模态对话框操作技巧汇总
2013/04/15 Javascript
js实现图片轮换效果代码
2013/04/16 Javascript
js中文逗号转英文实现
2014/02/11 Javascript
通过隐藏iframe实现无刷新上传文件操作
2016/03/16 Javascript
javascript js 操作数组 增删改查的简单实现
2016/06/20 Javascript
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
JavaScript仿聊天室聊天记录
2016/12/27 Javascript
浅谈React中的元素、组件、实例和节点
2018/02/27 Javascript
React styled-components设置组件属性的方法
2018/08/07 Javascript
微信小程序实现横向滚动导航栏效果
2019/12/12 Javascript
JS面向对象编程实现的Tab选项卡案例详解
2020/03/03 Javascript
vue router-link 默认a标签去除下划线的实现
2020/11/06 Javascript
[04:11]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/01/30 DOTA
[59:30]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
[57:36]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第三场 2月1日
2021/03/11 DOTA
教你用Python创建微信聊天机器人
2020/03/31 Python
Python multiprocessing多进程原理与应用示例
2019/02/28 Python
Django框架登录加上验证码校验实现验证功能示例
2019/05/23 Python
python+selenium 鼠标事件操作方法
2019/08/24 Python
pytorch 数据处理:定义自己的数据集合实例
2019/12/31 Python
python字典和json.dumps()的遇到的坑分析
2020/03/11 Python
基于matplotlib中ion()和ioff()的使用详解
2020/06/16 Python
python中如何打包用户自定义模块
2020/09/23 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
2020/09/29 Python
Python的scikit-image模块实例讲解
2020/12/30 Python
Django url 路由匹配过程详解
2021/01/22 Python
css3 条纹化和透明化表格Firefox下测试成功
2014/04/15 HTML / CSS
本科生详细的自我评价
2013/09/19 职场文书
仓库班组长岗位职责
2013/12/12 职场文书
感恩小明星事迹材料
2014/05/23 职场文书