JS实现标签滚动切换效果


Posted in Javascript onDecember 25, 2017

本文的JS效果是在鼠标点击ITEM标签的时候,实现下方的内容跟随滚动切换的效果,我们先来看下运行后的效果图。

JS实现标签滚动切换效果

以下是三水点靠木原创的运行代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>jQuery实现的平滑滚动选项卡</title>
<script type="text/javascript" src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<style>
.tabs{width: 1200px; margin: 0 auto; height: 336px; overflow: hidden;}
.tabs_item{height: 36px;}
.tabs_block{height: 300px;}
.list_item{float: left; width: 200px; height: 36px; line-height: 36px; font-size: 26px; text-align: center;background-color:#FC0;cursor: pointer;}
.list_item.active{color: #FFF;background-color:#F60}
.tabs_block{width: 20000px; position: relative;}
.list_block{display: none; float: left; width: 1200px; height: 300px; font-size: 100px; text-align: center; line-height: 300px;background-color:#F4F4F4}
.list_block.show{display: block;}
</style>
<script>jQuery.easing['easeOutCubic'] = function (x, t, b, c, d) {
 return c*((t=t/d-1)*t*t + 1) + b;
};
function Tabs(tabs,list,block,item,$){
 var tabs = $(tabs);
 var width = tabs.width();
 tabs.find(list+':first').addClass('active');
 tabs.find(item+':first').addClass('show');
 tabs.find(list).click(function(){
 var $this = $(this);
 var i = tabs.find(block).find('.show').index();
 var n = $this.index();
 $this.addClass('active').siblings('.active').removeClass('active');
 tabs.find(item).eq(n).addClass('show');
 if(n > i){
 tabs.find(block).stop().animate({'left':'-'+width+'px'},600,'easeOutCubic',function(){
  tabs.find(block).css('left','0px');
  tabs.find(item).eq(n).siblings('.show').removeClass('show');
  });
 }else{
 tabs.find(block).css('left','-'+width+'px').stop().animate({'left':0},600,'easeOutCubic',function(){
  tabs.find(item).eq(n).siblings('.show').removeClass('show');
  });
 }
 });
}
</script>
</head>
<body>
 <div class="tabs">
 <div class="tabs_item">
  <div class="list_item">list item 1</div>
  <div class="list_item">list item 2</div>
  <div class="list_item">list item 3</div>
  <div class="list_item">list item 4</div>
  <div class="list_item">list item 5</div>
  <div class="list_item">list item 6</div>
 </div>
 <div class="clear"> </div>
 <div class="tabs_block">
  <div class="list_block">list block 1</div>
  <div class="list_block">list block 2</div>
  <div class="list_block">list block 3</div>
  <div class="list_block">list block 4</div>
  <div class="list_block">list block 5</div>
  <div class="list_block">list block 6</div>
 </div>
 </div>
<script type="text/javascript">
 jQuery(document).ready(function(){
  var myTabs = new Tabs('.tabs','.list_item','.tabs_block','.list_block',jQuery);
 });
</script>
<p style="text-align:center">更多代码请访问:<a href="https://3water.com" target="_blank">三水点靠木</a></p>
</body>
</html>

在代码中我们引用了百度的jquery

<script type="text/javascript" src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>

需要的朋友跟着学习下吧,感谢你对三水点靠木的支持。

Javascript 相关文章推荐
jQuery.prototype.init选择器构造函数源码思路分析
Feb 05 Javascript
asm.js使用示例代码
Nov 28 Javascript
详解AngularJS中的表达式使用
Jun 16 Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
Jul 07 Javascript
js轮播图无缝滚动效果
Jun 17 Javascript
200行代码实现blockchain 区块链实例详解
Mar 14 Javascript
vue中img src 动态加载本地json的图片路径写法
Apr 25 Javascript
通过实例学习React中事件节流防抖
Jun 17 Javascript
使用Angular material主题定义自己的组件库的配色体系
Sep 04 Javascript
vue + axios get下载文件功能
Sep 25 Javascript
Javascript实现关闭广告效果
Jan 29 Javascript
用javascript制作qq注册动态页面
Apr 14 Javascript
JS实现图片居中悬浮效果
Dec 25 #Javascript
JS+CSS实现滚动数字时钟效果
Dec 25 #Javascript
Vue.js通用应用框架-Nuxt.js的上手教程
Dec 25 #Javascript
微信小程序录音与播放录音功能
Dec 25 #Javascript
利用vue + element实现表格分页和前端搜索的方法
Dec 25 #Javascript
VueRouter导航守卫用法详解
Dec 25 #Javascript
基于zTree树形菜单的使用实例
Dec 25 #Javascript
You might like
PHP编程实现脚本异步执行的方法
2017/08/09 PHP
js函数的延迟加载实现代码
2012/10/11 Javascript
使用JavaScript获取电池状态的方法
2014/05/03 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
2014/06/16 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
js判断滚动条是否已到页面最底部或顶部实例
2014/11/20 Javascript
js实现class样式的修改、添加及删除的方法
2015/01/20 Javascript
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
2016/01/23 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
Vue自定义指令介绍(2)
2016/12/08 Javascript
JS重载实现方法分析
2016/12/16 Javascript
Node.JS中事件轮询(Event Loop)的解析
2017/02/25 Javascript
解决Node.js使用MySQL出现connect ECONNREFUSED 127.0.0.1:3306的问题
2017/03/09 Javascript
jquery插件ContextMenu设置右键菜单
2017/03/13 Javascript
js Dom实现换肤效果
2017/10/21 Javascript
jquery实现企业定位式导航效果
2018/01/01 jQuery
使用ngrok+express解决本地环境中微信接口调试问题
2018/02/26 Javascript
mpvue+vuex搭建小程序详细教程(完整步骤)
2018/09/30 Javascript
Node.js 实现简单的无侵入式缓存框架的方法
2019/07/21 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
Nest.js散列与加密实例详解
2021/02/24 Javascript
[01:08:43]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第一场 1月9日
2021/03/11 DOTA
easy_install python包安装管理工具介绍
2013/02/10 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
Python爬虫之pandas基本安装与使用方法示例
2018/08/08 Python
python gdal安装与简单使用
2019/08/01 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
pytorch 实现模型不同层设置不同的学习率方式
2020/01/06 Python
pycharm 激活码及使用方式的详细教程
2020/05/12 Python
美国著名的团购网站:Woot
2016/08/02 全球购物
亚洲领先的设计购物网站:Pinkoi
2020/11/26 全球购物
J2EE是技术还是平台还是框架
2016/08/14 面试题
法学函授自我鉴定
2014/02/06 职场文书
梅花魂教学反思
2014/04/25 职场文书
Python数据可视化之用Matplotlib绘制常用图形
2021/06/03 Python