summaryrefslogtreecommitdiffstats
path: root/tabs/index.html
blob: e50728b52f701fccd22f20fc2b730a96e89b0343 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>
</head>

<body>
    <ul class="tabs">
        <li class="tab-button" data-tab="1">ONE</li>
        <li class="tab-button" data-tab="2">TWO</li>
        <li class="tab-button" data-tab="3">THREE</li>
    </ul>


    <main>
        <div class="tab-content-container" data-tab="1">
            <h1>ONE</h1>
        </div>
        <div class="tab-content-container" data-tab="2">
            <h1>TWO</h1>
        </div>
        <div class="tab-content-container" data-tab="3">
            <h1>THREE</h1>
        </div>
    </main>

    <script>
        document.querySelectorAll(".tab-content-container[data-tab]").forEach(contentContainer => {
            contentContainer.style.display = "none";
        });

        document.querySelectorAll(".tab-button[data-tab]").forEach(button => {
            button.addEventListener("click", handleButtonClick);
        });

        function handleButtonClick(element) {
            if (element.originalTarget.dataset.tab) {
                document.querySelectorAll(".tab-button[data-tab]").forEach(b => {
                    if (b.dataset.tab === element.originalTarget.dataset.tab)
                        b.classList.add("active");
                    else
                        b.classList.remove("active");
                });
                document.querySelectorAll(".tab-content-container[data-tab]").forEach(c => {
                    if (c.dataset.tab === element.originalTarget.dataset.tab)
                        c.style.display = "";
                    else
                        c.style.display = "none";
                });
            }
        }
    </script>
</body>

</html>