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的表格隔行换色,移动换色,点击换色插件
Dec 22 Javascript
JS实现的颜色实时渐变效果完整实例
Mar 25 Javascript
js继承实现方法详解
Dec 16 Javascript
angularjs之$timeout指令详解
Jun 13 Javascript
详解Vue微信公众号开发踩坑全记录
Aug 21 Javascript
vue axios 二次封装的示例代码
Dec 08 Javascript
详解Vue.js项目API、Router配置拆分实践
Mar 16 Javascript
electron制作仿制qq聊天界面的示例代码
Nov 26 Javascript
Angular8路由守卫原理和使用方法
Aug 29 Javascript
vue 项目引入echarts 添加点击事件操作
Sep 09 Javascript
js重写alert事件(避免alert弹框标题出现网址)
Dec 04 Javascript
JavaScript实现点击切换验证码及校验
Jan 10 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
一些星际专用术语解释
2020/03/04 星际争霸
1 Tube Radio
2021/03/02 无线电
Syphon 虹吸式咖啡壶冲煮–拨动法
2021/03/03 冲泡冲煮
IIS+fastcgi下PHP运行超时问题的解决办法详解
2013/06/20 PHP
php fread读取文件注意事项
2016/09/24 PHP
POST一个JSON格式的数据给Restful服务实例详解
2017/04/07 PHP
javascript 类方法定义还是有点区别
2009/04/15 Javascript
js 3秒后跳转页面的实现代码
2014/03/10 Javascript
jQuery中removeClass()方法用法实例
2015/01/05 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
JQuery中DOM事件冒泡实例分析
2015/06/13 Javascript
JavaScript实现自动切换图片代码
2016/10/11 Javascript
详解js界面跳转与值传递
2016/11/22 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
关于layui时间回显问题的解决方法
2019/09/24 Javascript
微信公众号H5之微信分享常见错误和问题(小结)
2019/11/14 Javascript
解决Echarts2竖直datazoom滑动后显示数据不全的问题
2020/07/20 Javascript
JavaScript实现图片合成下载的示例
2020/11/19 Javascript
Vite和Vue CLI的优劣
2021/01/30 Vue.js
[37:22]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第一局
2016/02/28 DOTA
简单谈谈Python中的元祖(Tuple)和字典(Dict)
2017/04/21 Python
python实现把两个二维array叠加成三维array示例
2019/11/29 Python
Python爬虫实现vip电影下载的示例代码
2020/04/20 Python
Python基于BeautifulSoup爬取京东商品信息
2020/06/01 Python
Python Socket TCP双端聊天功能实现过程详解
2020/06/15 Python
德国健康生活方式网上商店:Landkaufhaus Mayer
2019/03/12 全球购物
计算 s=(x*y)1/2,用两个宏定义来实现
2016/08/11 面试题
质检员岗位职责
2013/12/17 职场文书
冰淇淋店创业计划书范文
2013/12/27 职场文书
《孔子拜师》教学反思
2014/02/24 职场文书
闭幕式主持词
2014/04/02 职场文书
防沙治沙典型材料
2014/05/07 职场文书
学校党的群众路线教育实践活动整改措施
2014/10/25 职场文书
父母教会我观后感
2015/06/17 职场文书
2016年大学生社区服务活动总结
2016/04/06 职场文书
写作技巧:怎样写好一份优秀工作总结?
2019/08/14 职场文书