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 相关文章推荐
Web 前端设计模式--Dom重构 提高显示性能
Oct 22 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
Mar 03 Javascript
javascript动态向网页中添加表格实现代码
Feb 19 Javascript
jQuery中常用的遍历函数用法实例总结
Sep 01 Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
Jun 21 Javascript
AngularJS创建自定义指令的方法详解
Nov 03 Javascript
移动开发之自适应手机屏幕宽度
Nov 23 Javascript
Vue.js展示AJAX数据简单示例讲解
Mar 29 Javascript
详解封装基础的angular4的request请求方法
Jun 05 Javascript
详解微信小程序开发(项目从零开始)
Jun 06 Javascript
小程序调用微信支付的方法
Sep 26 Javascript
你不可不知的Vue.js列表渲染详解
Oct 01 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动态生成JavaScript代码
2009/03/09 PHP
解析如何在PHP下载文件名中解决乱码的问题
2013/06/20 PHP
PHP最常用的正则表达式
2017/02/13 PHP
php使用curl下载指定大小的文件实例代码
2017/09/30 PHP
Track Image Loading效果代码分析
2007/08/13 Javascript
JavaScript实现页面滚动图片加载(仿lazyload效果)
2011/07/22 Javascript
jquery获得下拉框值的代码
2011/08/13 Javascript
非常漂亮的JS+CSS图片幻灯切换特效
2013/11/20 Javascript
JavaScript实现大数的运算
2014/11/24 Javascript
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
javascript实现图片自动和可控的轮播切换特效
2015/04/13 Javascript
详解JS对象封装的常用方式
2016/12/30 Javascript
BootStrapValidator初使用教程详解
2017/02/10 Javascript
select自定义小三角样式代码(实用总结)
2017/08/18 Javascript
JQuery判断正整数整理小结
2017/08/21 jQuery
node和vue实现商城用户地址模块
2018/12/05 Javascript
微信小程序基于canvas渐变实现的彩虹效果示例
2019/05/03 Javascript
layui layer select 选择被遮挡的解决方法
2019/09/21 Javascript
基于javascript实现日历功能原理及代码实例
2020/05/07 Javascript
Python httplib,smtplib使用方法
2008/09/06 Python
跟老齐学Python之有容乃大的list(2)
2014/09/15 Python
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
python 根据pid杀死相应进程的方法
2017/01/16 Python
TensorFlow实现AutoEncoder自编码器
2018/03/09 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
opencv python 基于KNN的手写体识别的实例
2018/08/03 Python
HTML5时代CSS设置漂亮字体取代图片
2014/09/04 HTML / CSS
澳大利亚首屈一指的鞋类品牌:Tony Bianco
2018/03/13 全球购物
中专毕业生自荐信
2013/11/16 职场文书
专业销售业务员求职信
2013/11/18 职场文书
2015年幼儿园毕业感言
2014/02/12 职场文书
学生会部长竞聘书
2014/03/31 职场文书
2014年优质护理服务工作总结
2014/11/14 职场文书
数学教师求职信范文
2015/03/20 职场文书
2016年法制宣传月活动总结
2016/04/01 职场文书
Golang MatrixOne使用介绍和汇编语法
2022/04/19 Golang