本文主要给大家带来的是用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>
<p class="tabs">
<p class="tabs_item">
<p class="list_item">list item 1</p>
<p class="list_item">list item 2</p>
<p class="list_item">list item 3</p>
<p class="list_item">list item 4</p>
<p class="list_item">list item 5</p>
<p class="list_item">list item 6</p>
</p>
<p class="clear"> </p>
<p class="tabs_block">
<p class="list_block">list block 1</p>
<p class="list_block">list block 2</p>
<p class="list_block">list block 3</p>
<p class="list_block">list block 4</p>
<p class="list_block">list block 5</p>
<p class="list_block">list block 6</p>
</p>
</p>
<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="http://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>
相关推荐:
详解原生js是实现控制多个滚动条同步跟随滚动
详解js判断内容区域是否滚动到底部
javascript实现表格滚动分页教程
以上就是详细分析js实现标签滚动切换效果的详细内容。