jQuery实现标签平滑滚动切换效果
作者:键盘侠时间:2026-10-22 11:18:03浏览:197
本文介绍如何使用jQuery实现点击标签后下方内容平滑滚动切换的效果。通过引用百度CDN的jQuery库,结合自定义JS代码,实现选项卡与内容块的联动滚动,适用于需要简洁交互的前端页面。
jQuery实现标签平滑滚动切换效果
本文展示的效果是:当用户点击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>
在代码中,我们引用了百度CDN提供的jQuery库。
<script type="text/javascript" src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
希望读者能跟随示例进行学习,感谢对本站的支持。
作者最新文章
免登录快速分享代码:适合面试协作的轻量级JS在线运行工具推荐
2026-11-05 14:45:59
JS空字符串和纯空格转浮点数的结果是什么
2026-11-05 11:04:42
JS在线格式化缩进混乱怎么办?配置项调整技巧
2026-11-04 23:27:25
JS怎么获取秒级时间戳
2026-11-03 21:45:29
JS时间戳怎么从毫秒转换为秒
2026-11-03 20:04:14
