JavaScript与CSS实现Tab菜单动态切换的完整代码示例

作者:像素漫游

时间:2026-10-28

浏览:562

本文详细介绍如何使用JavaScript和CSS实现Tab菜单的动态切换效果。通过定义CSS样式控制外观,利用JavaScript动态生成导航项并绑定点击事件,实现内容区域的无刷新切换。代码包含完整的HTML结构、CSS样式及JS逻辑,适合前端初学者参考学习。

文章目录

JavaScript与CSS实现Tab菜单动态切换的完整代码示例

本文通过一个具体实例,演示了如何结合JavaScript与CSS技术实现Tab菜单的切换功能。该方案旨在为开发者提供可参考的实现思路,具体代码细节如下所示。

首先定义CSS样式文件 index.css,用于控制页面布局与视觉表现。

以下是CSS代码的具体实现:

* {  
margin: 0px;
padding: 0px;
}  
body {
width: 600px;
margin: 0 auto;
background-color: silver;
}  
  
#contanier {
background-color: yellow;
width: 600px;height: 400px;
}  
  
#tabNavi {
width: 600px;height: 30px;
background-color: #00bfff;
text-decoration: none;
list-style-type: none;
}  
  
#tabNavi li {
float: left;
margin-right: 7px;
background-color: #008b8b;
color: white;
cursor: pointer;
width: 60px;
height: 28px;
line-height: 30px;
text-align: center;
}  
#content {
width: 600px;height: 370px;
background-color: white;
}

接下来是HTML结构文件 index.html,用于构建页面骨架并引入上述样式与脚本。

以下是HTML及JavaScript代码的具体实现:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>js实现tab菜单动态切换效果</title>
<link href="css/index.css" rel="stylesheet" />
<script type="text/javascript">
function gel(id) {
return document.getElementById(id);
        }  
  
var arr = [
{ "title": "新闻", "content": "这是新闻频道" },
{ "title": "财经", "content": "这是财经频道" },
{ "title": "娱乐", "content": "这是娱乐频道" },
{ "title": "体育", "content": "这是体育频道" },
{ "title": "汽车", "content": "这是汽车频道" },
{ "title": "视频", "content": "这是视频频道" },
{ "title": "生活", "content": "这是生活频道" }
        ];  
  
window.onload = function() {
for (var i = 0; i < arr.length; i++) {
var liNew = document.createElement("li");
liNew.innerHTML = arr[i].title;
gel("tabNavi").appendChild(liNew);
//在这些li上面都绑定点击事件,就需要给他们每一个赋一个属性(最好是id)
liNew.setAttribute("id", i);
                  
liNew.onclick = function () {
var navs = gel("tabNavi").childNodes;
//清除所有颜色
for (var j = 0; j < navs.length; j++) {
if (navs[j].nodeType == 1) {
navs[j].style.backgroundColor ="#008b8b";
                       }  
                    }  
  
this.style.backgroundColor = "red";
gel("content").innerHTML = arr[this.id].content;
                };  
            }  
        };  
</script>
</head>
<body>
<div id="contanier">
<ul id="tabNavi"></ul>
<div id="content" class="content"></div>
</div>
</body>
</html>

希望上述代码示例能对掌握JavaScript程序设计有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章