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 相关文章推荐
JavaScript基本概念初级讲解论坛贴的学习记录
Feb 22 Javascript
动态样式类封装JS代码
Sep 02 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
Jul 13 Javascript
javascript 实现子父窗体互相传值的简单实例
Feb 17 Javascript
JavaScript中的6种运算符总结
Oct 16 Javascript
javascript实现获取字符串hash值
May 10 Javascript
jquery控制页面部分刷新的方法
Jun 24 Javascript
js实现文字闪烁特效的方法
Dec 17 Javascript
jQuery实现简单的图片查看器
Sep 11 Javascript
基于canvas的二维码邀请函生成插件
Feb 14 Javascript
详解vue组件通信的三种方式
Jun 30 Javascript
VUE动态生成word的实现
Jul 26 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
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
PHP 数组黑名单/白名单实例代码详解
2019/06/04 PHP
JavaScript-世界上误解最深的语言分析
2007/08/12 Javascript
prototype 中文参数乱码解决方案
2009/11/09 Javascript
JS小功能(checkbox实现全选和全取消)实例代码
2013/11/28 Javascript
纯JS实现动态时间显示代码
2014/02/08 Javascript
JavaScript中判断整字类型最简洁的实现方法
2014/11/08 Javascript
初识Node.js
2015/03/20 Javascript
jquery实现清新实用的网页菜单效果
2015/08/28 Javascript
Vue.js 父子组件通讯开发实例
2016/09/06 Javascript
基于AngularJS前端云组件最佳实践
2016/10/20 Javascript
Nodejs 获取时间加手机标识的32位标识实现代码
2017/03/07 NodeJs
Javascript实现信息滚动效果
2017/05/18 Javascript
vue+express 构建后台管理系统的示例代码
2018/07/19 Javascript
JavaScript实现的联动菜单特效示例
2019/07/08 Javascript
layui的数据表格+springmvc实现搜索功能的例子
2019/09/28 Javascript
Node使用Nodemailer发送邮件的方法实现
2020/02/24 Javascript
ES6 十大特性简介
2020/12/09 Javascript
详解Python之数据序列化(json、pickle、shelve)
2017/03/30 Python
Python3简单实例计算同花的概率代码
2017/12/06 Python
python 给DataFrame增加index行名和columns列名的实现方法
2018/06/08 Python
python numpy 一维数组转变为多维数组的实例
2018/07/02 Python
详解python中的Turtle函数库
2018/11/19 Python
python pygame实现滚动横版射击游戏城市之战
2019/11/25 Python
python生成任意频率正弦波方式
2020/02/25 Python
Python3爬虫中识别图形验证码的实例讲解
2020/07/30 Python
CSS3的first-child选择器实战攻略
2016/04/28 HTML / CSS
在校生钳工实习自我鉴定
2013/09/19 职场文书
护士自荐信范文
2013/12/15 职场文书
争论的故事教学反思
2014/02/06 职场文书
先进党支部事迹材料
2014/12/24 职场文书
门卫岗位职责
2015/02/09 职场文书
民主评议教师党员自我评价
2015/03/04 职场文书
工厂门卫岗位职责
2015/04/13 职场文书
新手,如何业余时间安排好写作、提高写作能力?
2019/10/21 职场文书
Python 循环读取数据内存不足的解决方案
2021/05/25 Python