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 相关文章推荐
SyntaxHighlighter代码加色使用方法
Sep 07 Javascript
BOM与DOM的区别分析
Oct 26 Javascript
JavaScript?Apple设备检测示例代码
Nov 15 Javascript
jQuery+PHP+MySQL实现无限级联下拉框效果
Feb 19 Javascript
Vue系列:通过vue-router如何传递参数示例
Jan 16 Javascript
动态加载css方法实现和深入解析
Jan 18 Javascript
Spring Boot+AngularJS+BootStrap实现进度条示例代码
Mar 02 Javascript
10行原生JS实现文字无缝滚动(超简单)
Jan 02 Javascript
jquery动态添加以及遍历option并获取特定样式名称的option方法
Jan 29 jQuery
javascript中的隐式调用
Feb 10 Javascript
Webpack path与publicPath的区别详解
May 03 Javascript
element 动态合并表格的步骤
Dec 31 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常量的详解
2013/06/09 PHP
php数组删除元素示例
2014/03/21 PHP
CodeIgniter安全相关设置汇总
2014/07/03 PHP
php实现专业获取网站SEO信息类实例
2015/04/02 PHP
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
php实现留言板功能(代码详解)
2017/03/28 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
PHP后台实现微信小程序登录
2018/08/03 PHP
PHP基于timestamp和nonce实现的防止重放攻击方案分析
2019/07/26 PHP
php7性能提升的原因详解
2019/10/13 PHP
Javascript String.replace的妙用
2009/09/08 Javascript
JS 实现双色表格实现代码
2009/11/24 Javascript
YUI Compressor压缩JavaScript原理及微优化
2013/01/07 Javascript
js与jQuery 获取父窗、子窗的iframe
2013/12/20 Javascript
javascript中Function类型详解
2015/04/28 Javascript
js实现创建删除html元素小结
2015/09/30 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
2016/05/28 Javascript
关于js函数解释(包括内嵌,对象等)
2016/11/20 Javascript
关于Sequelize连接查询时inlude中model和association的区别详解
2017/02/27 Javascript
Angularjs2不同组件间的通信实例代码
2017/05/06 Javascript
JavaScript实现重力下落与弹性效果的方法分析
2017/12/20 Javascript
vue select二级联动第二级默认选中第一个option值的实例
2018/01/10 Javascript
vue实现百度语音合成的实例讲解
2019/10/14 Javascript
python实现二叉查找树实例代码
2018/02/08 Python
python获取磁盘号下盘符步骤详解
2019/06/19 Python
在OpenCV里实现条码区域识别的方法示例
2019/12/04 Python
基于Python+QT的gui程序开发实现
2020/07/03 Python
网络通讯中,端口有什么含义,端口的取值范围
2012/11/23 面试题
中专自荐信
2013/10/13 职场文书
主题酒店策划书
2014/01/28 职场文书
会计与审计专业自荐信范文
2014/03/15 职场文书
党员教师四风问题对照检查材料
2014/09/26 职场文书
采购内勤岗位职责
2015/04/13 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书
《家庭教育》读后感3篇
2019/12/18 职场文书
导游词之重庆渣滓洞
2020/01/08 职场文书