原生JS与CSS实现Tab切换功能

作者:白露时间:2026-10-23 21:54:18浏览:89

本文介绍如何使用原生JavaScript和CSS实现Tab切换功能,无需依赖UI框架。通过控制display属性切换内容显示,结合简单的DOM操作完成交互。适合希望轻量实现标签页效果的前端开发者参考。

原生Tab切换功能实现

本文分享了一段使用原生CSS和JavaScript实现Tab切换功能的具体代码,供读者参考。

当前许多UI框架已内置Tab组件,使用时只需遵循其API即可。但在某些jQuery项目中,若仅为实现Tab功能而引入整个UI库,显得过于繁琐。因此,本文推荐一种轻量级的原生实现方案。

核心思路是利用CSS的display属性来控制各个Tab面板的显示与隐藏。

以下是功能运行的示意图:

原生Tab切换功能实现

具体实现代码如下:


<!DOCTYPE html>
<html lang="en">
 
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <script src="./jquery-3.4.1.min.js"></script>
 <title>tab功能实现</title>
 <style>
 body {
 margin: 0 auto;
 }
 
 .tab-menu {
 width: 100%;
 background: #F5F6F8;
 display: flex;
 }
 
 .tab-menu-span {
 width: 150px;
 height: 50px;
 line-height: 50px;
 cursor: pointer;
 text-align: center;
 }
 
 .tab-menu-span-hover {
 background: #0054A7;
 color: #ffffff;
 }
 
 .tab-list {
 position: relative;
 }
 
 .tab-list-span {
 padding: 20px 10px;
 height: 200px;
 position: absolute;
 top: 0;
 display: none;
 }
 </style>
</head>
 
<body>
 <div class="tab-class">
 <!-- 菜单 -->
 <div class="tab-menu">
 <div class="tab-menu-span">
 菜单一
 </div>
 <div class="tab-menu-span">
 菜单二
 </div>
 <div class="tab-menu-span">
 菜单三
 </div>
 </div>
 <!-- tab list -->
 <div class="tab-list">
 <div class="tab-list-span">
 1、金子啊,你是多么神奇。你可以使老的变成少的,丑的变成美的,黑的变成白的,错的变成对的……</br>
 2、玫瑰是美的,但更美的是它包含的香味。</br>
 3、恋爱的人去赴他情人的约会,像一个放学归来的儿童;可是当他和情人分别的时候,却上学去一般满脸懊丧。</br>
 </div>
 <div class="tab-list-span">
 4、时间会刺破青春表面的彩饰,会在美人的额上掘深沟浅槽;会吃掉稀世之珍!天生丽质,什么都逃不过他那横扫的镰刀。</br>
 5、笨蛋自以为聪明,聪明人才知道自己是笨蛋。</br>
 6、对众人一视同仁,对少数人推心置腹,对任何人不要亏负。 </br>
 </div>
 <div class="tab-list-span">
 7、希望者,思想之母也。</br>
 8、草率的婚姻少美满。</br>
 9、无数人事的变化孕育在时间的胚胎里。</br>
 10、要是不能把握时机,就要终身蹉跎,一事无成。</br>
 </div>
 </div>
 </div>
 <script>
 $('.tab-menu-span:first').addClass('tab-menu-span-hover');
 $('.tab-list-span:first').css('display', 'block');
 $('.tab-menu-span').hover(function () {
 $(this).addClass('tab-menu-span-hover');
 $(this).siblings().removeClass('tab-menu-span-hover');
 $('.tab-list-span').css('display', 'none');
 $('.tab-list-span').eq($(this).index()).css('display', 'block');
 })
 </script>
</body>
 
</html>

如需进一步学习,可参考以下两个相关专题:

JavaScript选项卡操作技巧汇总

jQuery选项卡操作技巧汇总

以上即为Tab切换功能的实现方法总结,希望对读者有所帮助。建议按照此思路,动手编写自己的Tab切换特效。

作者最新文章