zoukankan      html  css  js  c++  java
  • JavaScript DOM操作案例tab切换案例

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
    
            ul {
                list-style-type: none;
            }
    
            .box {
                width: 400px;
                height: 300px;
                border: 1px solid #ccc;
                margin: 100px auto;
                overflow: hidden;
            }
    
            .hd {
                height: 45px;
            }
    
            .hd span {
                display: inline-block;
                width: 90px;
                background-color: pink;
                line-height: 45px;
                text-align: center;
                cursor: pointer;
            }
    
            .hd span.current {
                background-color: purple;
            }
    
            .bd li {
                height: 255px;
                background-color: purple;
                display: none;
            }
    
            .bd li.current {
                display: block;
            }
        </style>
    
    </head>
    <body>
    <div class="box" id="box">
        <div class="hd">
            <span class="current">体育</span>
            <span>娱乐</span>
            <span>新闻</span>
            <span>综合</span>
        </div>
        <div class="bd">
            <ul>
                <li class="current">我是体育模块</li>
                <li>我是娱乐模块</li>
                <li>我是新闻模块</li>
                <li>我是综合模块</li>
            </ul>
        </div>
    </div>
    <script src="common.js"></script>
    <script>
        //获取最外面的div标签
        var box = my$("box");
        //获取里面的第一个div
        var hd = box.getElementsByTagName("div")[0];
        //获取里面的第二个div
        var db = box.getElementsByTagName("div")[1];
        //获取所有的span标签
        var spans = hd.getElementsByTagName("span");
        //获取所有的li标签
        var lis = db.getElementsByTagName("li");
        //循环遍历的方式添加点击事件
        for (var i = 0; i < spans.length; i++) {
            //在点击之前把索引存储到span标签中
            spans[i].setAttribute("index", i);
            spans[i].onclick = function () {
                //点击的时候获取存储的索引值
                var index = this.getAttribute("index");
                //第一件事,所有的span的类样式全部移除
                for (var j = 0; j < spans.length; j++) {
                    spans[j].removeAttribute("class");
                    lis[j].removeAttribute("class");
                }
                //第二件事,当前被点击的span添加类样式
                this.className = "current";
                lis[index].className = "current";
            };
        }
    </script>
    </body>
    </html>
  • 相关阅读:
    dada的GCD
    涛神的城堡
    手机信号
    涛涛的Party
    壮壮的数组
    不安全字符串
    gdb core 调试多线程
    makefile $@, $^, $<, $? 表示的意义
    KMP算法的next[]数组通俗解释
    【原创】支持同时生成多个main函数 makefile 模板
  • 原文地址:https://www.cnblogs.com/cuilichao/p/9368909.html
Copyright © 2011-2022 走看看