JS实现标签滚动切换效果
更新时间:2017年12月25日 10:36:50 投稿:laozhang
这篇文章给大家带来的是用JS实现item标签点击后滚动切换的效果,有兴趣的朋友测试学习下吧。
本文的JS效果是在鼠标点击ITEM标签的时候,实现下方的内容跟随滚动切换的效果,我们先来看下运行后的效果图。
以下是脚本之家原创的运行代码:
<!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://www.jb51.net" 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的offset、client、scroll使用方法详解
javascript的offset、client、scroll在使用过程中非常频繁,接下来将对此进行一一介绍,需要了解的朋友可以详细参考下2012-12-12Bootstrap基本组件学习笔记之input输入框组(9)
这篇文章主要为大家详细介绍了Bootstrap基本组件学习笔记之input输入框组,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2016-12-12微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
这篇文章主要介绍了微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-09-09JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
下面小编就为大家带来一篇JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-05-05
最新评论