Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

html点击导航栏切换内容

作者:整整ー世♂陰霾そ   发布日期:2025-04-08   浏览:121

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HTML点击导航栏切换内容</title>
    <style>
        /* 隐藏所有内容部分 */
        .content {
            display: none;
        }
        /* 默认显示第一个内容部分 */
        .content:first-of-type {
            display: block;
        }
    </style>
</head>
<body>
    <!-- 导航栏 -->
    <ul id="nav">
        <li><a href="#" data-target="section1">首页</a></li>
        <li><a href="#" data-target="section2">关于我们</a></li>
        <li><a href="#" data-target="section3">联系我们</a></li>
    </ul>

    <!-- 内容部分 -->
    <div id="content">
        <div class="content" id="section1">
            <h2>首页</h2>
            <p>欢迎来到我们的网站!</p>
        </div>
        <div class="content" id="section2">
            <h2>关于我们</h2>
            <p>我们是一个专注于提供高质量服务的团队。</p>
        </div>
        <div class="content" id="section3">
            <h2>联系我们</h2>
            <p>如果您有任何问题,请随时联系我们。</p>
        </div>
    </div>

    <script>
        // 获取导航栏链接和内容部分
        const navLinks = document.querySelectorAll('#nav a');
        const contents = document.querySelectorAll('.content');

        // 添加点击事件监听器
        navLinks.forEach(link => {
            link.addEventListener('click', function(event) {
                event.preventDefault(); // 阻止默认行为

                // 获取目标内容的ID
                const targetId = this.getAttribute('data-target');

                // 隐藏所有内容部分
                contents.forEach(content => {
                    content.style.display = 'none';
                });

                // 显示目标内容部分
                document.getElementById(targetId).style.display = 'block';
            });
        });
    </script>
</body>
</html>

解释说明:

  1. HTML结构:

    • ul#nav:包含导航栏的链接,每个链接通过 data-target 属性指定要显示的内容部分。
    • div#content:包含多个 div.content,每个 div 代表一个内容部分,初始状态下只有第一个内容部分可见。
  2. CSS样式:

    • .content:默认隐藏所有内容部分。
    • .content:first-of-type:确保页面加载时默认显示第一个内容部分。
  3. JavaScript逻辑:

    • 使用 querySelectorAll 获取所有导航链接和内容部分。
    • 为每个导航链接添加点击事件监听器。
    • 点击链接时,阻止默认行为(即跳转),获取目标内容部分的 ID,并隐藏所有内容部分,最后显示目标内容部分。

上一篇:html透明度代码

下一篇:html中—————这条横线

大家都在看

静态html源码

ios打开html

colspan在html中是什么意思

xml转html

html时间代码

html2canvas使用

html标题标签是什么

html 换行符号

html中b标签的作用

html美化代码

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站