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表单验证 - Parsley.js使用和配置
Jan 25 Javascript
ExtJS DOM元素操作经验分享
Aug 28 Javascript
JQuery实现点击div以外的位置隐藏该div窗口
Sep 13 Javascript
判断及设置浏览器全屏模式
Apr 20 Javascript
简易的投票系统以及js刷票思路和方法
Apr 07 Javascript
Javascript简单改变表单元素背景的方法
Jul 15 Javascript
Bootstrap table两种分页示例
Dec 23 Javascript
微信小程序实现点击返回顶层的方法
Jul 12 Javascript
本地存储localStorage用法详解
Jul 31 Javascript
Angular6中使用Swiper的方法示例
Jul 09 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
Jul 19 Javascript
JS删除数组指定值常用方法详解
Jun 04 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如何调用webservice应用介绍
2012/11/24 PHP
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
2014/11/05 PHP
PHP四种基本排序算法示例
2015/04/09 PHP
php中动态变量用法实例
2015/06/10 PHP
PHP实现中文圆形印章特效
2015/06/19 PHP
详解php比较操作符的安全问题
2015/12/03 PHP
浅谈PHP中其他类型转化为Bool类型
2016/03/28 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
javascript对数组的常用操作代码 数组方法总汇
2011/01/27 Javascript
jQuery筛选器children()案例详解(图文)
2013/02/17 Javascript
JS实现悬浮移动窗口(悬浮广告)的特效
2013/03/12 Javascript
Jquery 自定义动画概述及示例
2013/03/29 Javascript
不同Jquery版本引发的问题解决
2013/10/14 Javascript
javascript数组操作方法小结和3个属性详细介绍
2014/07/05 Javascript
使用jquery操作session方法分享
2015/01/22 Javascript
js获取内联样式的方法
2015/01/27 Javascript
JavaScript字符串常用类使用方法汇总
2015/04/14 Javascript
js获取隐藏元素宽高的实现方法
2016/05/19 Javascript
VUE JS 使用组件实现双向绑定的示例代码
2017/01/10 Javascript
Webpack执行命令参数详解
2017/06/17 Javascript
Vue2.0生命周期的理解
2018/08/20 Javascript
微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例
2019/03/30 Javascript
深入理解Python中range和xrange的区别
2017/11/26 Python
python调用opencv实现猫脸检测功能
2019/01/15 Python
python3 assert 断言的使用详解 (区别于python2)
2019/11/27 Python
python如何通过闭包实现计算器的功能
2020/02/22 Python
Python+logging输出到屏幕将log日志写入文件
2020/11/11 Python
Goodee官方商店:迷你投影仪
2021/03/15 全球购物
广州地球村科技数据库题目
2016/04/25 面试题
南京某公司笔试题
2013/01/27 面试题
会计专业应届生求职信
2013/11/24 职场文书
英语专业毕业生自荐信范文
2013/12/31 职场文书
学习十八大演讲稿
2014/09/15 职场文书
Springboot配置suffix指定mvc视图的后缀方法
2021/07/03 Java/Android
html网页引入svg图片的4种方式
2022/08/05 HTML / CSS
uniapp开发打包多端应用完整方法指南
2022/12/24 Javascript