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学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
Apr 12 Javascript
SyntaxHighlighter语法高亮插件使用说明
Aug 14 Javascript
IE6下opacity与JQuery的奇妙结合
Mar 01 Javascript
jquery获取元素索引值index()示例
Feb 13 Javascript
href下载文件根据id取url并下载
May 28 Javascript
BootStrap实现树形目录组件代码详解
Jun 21 Javascript
详解Vue.js基于$.ajax获取数据并与组件的data绑定
May 26 Javascript
深入探究AngularJs之$scope对象(作用域)
Jul 20 Javascript
Django+Vue.js搭建前后端分离项目的示例
Aug 07 Javascript
swiper实现异形轮播效果
Nov 28 Javascript
node.JS二进制操作模块buffer对象使用方法详解
Feb 06 Javascript
vue添加自定义右键菜单的完整实例
Dec 08 Vue.js
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获取当前网址及域名的实现代码
2013/06/23 PHP
PHP缓冲区用法总结
2016/02/14 PHP
PHP访问数据库集群的方法小结
2016/03/14 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
认识延迟时间为0的setTimeout
2008/05/16 Javascript
jQuery 使用手册(一)
2009/09/23 Javascript
对字符串进行HTML编码和解码的JavaScript函数
2010/02/01 Javascript
一些有用的JavaScript和jQuery的片段分享
2011/08/23 Javascript
深入理解Javascript作用域与变量提升
2013/12/09 Javascript
jQuery中replaceAll()方法用法实例
2015/01/16 Javascript
原生js验证简洁注册登录页面
2016/12/17 Javascript
js实现文字向上轮播功能
2017/01/13 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
vue 1.x 交互实现仿百度下拉列表示例
2017/10/21 Javascript
Angular实现表单验证功能
2017/11/13 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
2019/09/21 Javascript
[42:36]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第二局
2016/02/26 DOTA
Python实现扫描指定目录下的子目录及文件的方法
2014/07/16 Python
Python 备份程序代码实现
2017/03/06 Python
Python图片裁剪实例代码(如头像裁剪)
2017/06/21 Python
Python中Numpy包的安装与使用方法简明教程
2018/07/03 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
python实现发送带附件的邮件代码分享
2020/09/22 Python
解决pytorch 数据类型报错的问题
2021/03/03 Python
HTML5中视频音频的使用详解
2017/07/07 HTML / CSS
详解Html5页面实现下载文件(apk、txt等)的三种方式
2018/10/22 HTML / CSS
德国婴儿推车和儿童安全座椅商店:BABYSHOP
2016/09/01 全球购物
Topshop美国官网:英国快速时尚品牌
2019/05/16 全球购物
个人应聘自我评价分享
2013/11/18 职场文书
小学生综合素质评语
2014/04/23 职场文书
网上祭先烈心得体会
2014/09/01 职场文书
幼儿教师个人总结
2015/02/05 职场文书
病危通知书样本
2015/04/17 职场文书
2016读书月活动心得体会
2016/01/14 职场文书
详解Python描述符的工作原理
2021/06/11 Python
解决MySQL添加新用户-ERROR 1045 (28000)的问题
2022/03/03 MySQL