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(二)事件机制(2)
Dec 06 Javascript
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
Jan 13 Javascript
ActiveX控件与Javascript之间的交互示例
Jun 04 Javascript
jQuery实现伸展与合拢panel的方法
Apr 30 Javascript
AngularJS入门教程之AngularJS指令
Apr 18 Javascript
jQuery插件 Jqplot图表实例
Jun 18 Javascript
JS实现保留n位小数的四舍五入问题示例
Aug 03 Javascript
MUI实现上拉加载和下拉刷新效果
Jun 30 Javascript
Vue进度条progressbar组件功能
Apr 17 Javascript
Vue.js实现数据响应的方法
Aug 13 Javascript
Electron中实现大文件上传和断点续传功能
Oct 28 Javascript
详解vue修改elementUI的分页组件视图没更新问题
Nov 13 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上传、管理照片示例
2006/10/09 PHP
php截取后台登陆密码的代码
2012/05/05 PHP
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
php过滤表单提交的html等危险代码
2014/11/03 PHP
Yii配置文件用法详解
2014/12/04 PHP
PHP网站开发中常用的8个小技巧
2015/02/13 PHP
PHP中的事务使用实例
2015/05/26 PHP
php用户密码加密算法分析【Discuz加密算法】
2016/10/12 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
jQuery实现动画效果的简单实例
2014/01/27 Javascript
jquery组件使用中遇到的问题整理及解决
2014/02/21 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
2016/09/09 Javascript
分享bootstrap学习笔记心得(组件及其属性)
2017/01/11 Javascript
node.js + socket.io 实现点对点随机匹配聊天
2017/06/30 Javascript
详解JS转换数值函数Number()、parseInt()、parseFloat()
2018/08/24 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
微信小程序将页面按钮悬浮固定在底部的实现代码
2020/10/29 Javascript
python设置检查点简单实现代码
2014/07/01 Python
Python实现的爬虫功能代码
2017/06/24 Python
python读写Excel表格的实例代码(简单实用)
2019/12/19 Python
Python使用Tkinter实现转盘抽奖器的步骤详解
2020/01/06 Python
python 实现rolling和apply函数的向下取值操作
2020/06/08 Python
python图片合成的示例
2020/11/09 Python
python-图片流传输的思路及示例(url转换二维码)
2020/12/21 Python
解析HTML5的存储功能和web SQL的相关操作方法
2016/02/19 HTML / CSS
Html5 Canvas实现图片标记、缩放、移动和保存历史状态功能 (附转换公式)
2020/03/18 HTML / CSS
渡河少年教学反思
2014/02/12 职场文书
中学学校门卫岗位职责
2014/08/15 职场文书
俞敏洪一分钟演讲稿
2014/08/26 职场文书
党员个人自我剖析材料
2014/10/08 职场文书
2014光棍节单身联谊活动策划书
2014/10/10 职场文书
运动员加油词
2015/07/18 职场文书
民间借贷纠纷起诉书
2015/08/03 职场文书
2016年“11.11”光棍节活动总结
2016/04/05 职场文书
利用Python+OpenCV三步去除水印
2021/05/28 Python