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 有用的脚本函数
May 07 Javascript
jQuery EasyUI API 中文文档 - ValidateBox验证框
Oct 06 Javascript
禁用JavaScript控制台调试的方法
Mar 07 Javascript
浅谈$(document)和$(window)的区别
Jul 15 Javascript
jquery实现的Accordion折叠面板效果代码
Sep 02 Javascript
JavaScript性能优化之小知识总结
Nov 20 Javascript
详解JavaScript中的自定义事件编写
May 10 Javascript
AngularJS基础 ng-submit 指令简单示例
Aug 03 Javascript
JavaScript中数组slice和splice的对比小结
Sep 22 Javascript
AngularJs表单验证实例代码解析
Nov 29 Javascript
vue-content-loader内容加载器的使用方法
Aug 05 Javascript
layui.tree组件的使用以及搜索节点功能的实现
Sep 26 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
ThinkPHP模板判断输出Present标签用法详解
2014/06/30 PHP
PHP中trim()函数简单使用指南
2015/04/16 PHP
javascript 学习笔记(六)浏览器类型及版本信息检测代码
2011/04/08 Javascript
深入探讨JavaScript String对象
2015/03/09 Javascript
在AngularJS中使用AJAX的方法
2015/06/17 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
2015/09/07 Javascript
javascript中数组和字符串的方法对比
2016/07/20 Javascript
jQuery实现邮箱下拉列表自动补全功能
2016/09/08 Javascript
ES6中的箭头函数实例详解
2017/04/06 Javascript
Javascript网页抢红包外挂实现分享
2018/01/11 Javascript
Js面试算法详解
2018/04/08 Javascript
vue-router命名视图的使用讲解
2019/01/19 Javascript
详解Next.js页面渲染的优化方案
2019/01/27 Javascript
vue 使用 canvas 实现手写电子签名
2020/03/06 Javascript
JS删除数组指定值常用方法详解
2020/06/04 Javascript
ant-design-vue中tree增删改的操作方法
2020/11/03 Javascript
[44:40]2018DOTA2亚洲邀请赛3月30日 小组赛A组Liquid VS OG
2018/03/31 DOTA
python编写的最短路径算法
2015/03/25 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
如何优雅地处理Django中的favicon.ico图标详解
2018/07/05 Python
Python列表的切片实例讲解
2019/08/20 Python
Pycharm+Python+PyQt5使用详解
2019/09/25 Python
tensorflow pb to tflite 精度下降详解
2020/05/25 Python
python如何从键盘获取输入实例
2020/06/18 Python
基于Python采集爬取微信公众号历史数据
2020/11/27 Python
Python爬虫进阶之爬取某视频并下载的实现
2020/12/08 Python
10分钟理解CSS3 FlexBox弹性布局
2018/12/20 HTML / CSS
出纳岗位职责模板
2013/11/27 职场文书
英文简历中的自我评价用语
2013/12/09 职场文书
11月红领巾广播稿
2014/01/17 职场文书
销售经理岗位职责
2014/03/16 职场文书
科技之星事迹材料
2014/06/02 职场文书
团队口号大全
2014/06/06 职场文书
县政府领导班子四风问题对照检查材料思想汇报
2014/09/26 职场文书
副校长个人对照检查材料思想汇报
2014/10/04 职场文书
尝试使用Python爬取城市租房信息
2022/04/12 Python