• Live2D 看板娘


    利用JavaScript知识,实现选项卡切换的效果。

    效果图:

    文字素材:

    房产:

        275万购昌平邻铁三居 总价20万买一居
        200万内购五环三居 140万安家东三环
        北京首现零首付楼盘 53万购东5环50平
        京楼盘直降5000 中信府 公园楼王现房

    家居:

         40平出租屋大改造 美少女的混搭小窝
         经典清新简欧爱家 90平老房焕发新生
         新中式的酷色温情 66平撞色活泼家居
         瓷砖就像选好老婆 卫生间烟道的设计

    二手房:

         通州豪华3居260万 二环稀缺2居250w甩
         西3环通透2居290万 130万2居限量抢购
         黄城根小学学区仅260万 121平70万抛!
         独家别墅280万 苏州桥2居优惠价248万
        

    任务

    大家先思考和分析实现思路,然后在动手实现

    一、HTML页面布局

    提示:
    选项卡标题使用ul..li
    选项卡内容使用div

    二、CSS样式制作

    提示:
    整个选项卡的样式设置
    选项卡标题的样式设置
    选项卡内容的样式设置
    一开始只显示一个选项卡内容,其它选项卡内容隐藏。

    三、JS实现选项卡切换

    提示:
    获取选项卡标题和选项卡内容
    选项卡内容多个,需要循环遍历来操作,得知哪个选项卡和哪个选项内容匹配
    通过改变DOM的css类名称,当前点击的选项卡显示,其它隐藏。
    <!DOCTYPE html>
    <html>
    
    <head lang="en">
        <meta charset="UTF-8">
        <title>实践题 - 选项卡</title>
        <style type="text/css">
        /* CSS样式制作 */
        
        *body {
            margin: 0;
            padding: 0;
        }
        
        ul,
        li {
            list-style-type: none;
        }
        
        #newstitle ul {
            overflow: hidden;
            margin-bottom: 0px;
            padding-left: 25px;
        }
        
        #newstitle ul li {
            float: left;
            width: 95px;
            height: 30px;
            line-height: 30px;
            text-align: center;
            border-left: 1px solid #5a5757;
            border-top: 1px solid #5a5757;
            border-right: 1px solid #5a5757;
            margin-right: 5px;
            border-radius: 3px 3px 0px 0px;
        }
    
        #newstitle ul li:hover {
            cursor: pointer;
        }
    
        #newstitle ul .active{
            border-top:2px solid #541e1e;
            border-bottom:2px solid #e1dddd;
            background-color:#e1dddd;
        }
        
        #newsdetails {
            width: 350px;
            height: 150px;
            overflow: hidden;
            margin-top: -2px;
        }
        
        #newsdetails ul {
            padding-top: 10px;
            padding-bottom: 10px;
            margin-top: 0px;
            background-color:#e1dddd;
            border-top: 2px solid #541e1e;
        }
        
        #newsdetails ul li a {
            text-decoration: none;
            color: #000;
            display: block;
            height: 30px;
            line-height: 30px;
        }
        #newsdetails ul li a:hover{
            text-decoration: underline;
        }
        .show{
            display:block;
        }
        .hide{
            display:none;
        }
        </style>
        <script type="text/javascript">
        // JS实现选项卡切换
        window.onload=function(){                                  //页面加载时调用函数
            var newst = document.getElementById("newstitle");      //通过id获取新闻分类区域
            var tlist = newst.getElementsByTagName("li");          //获取新闻分类标题标li签
            var newsd = document.getElementById("newsdetails");    //通过id获取新闻列表区域
            var dul = newsd.getElementsByTagName("ul");            //获取新闻列表板块ul
            for(var i=0;i<tlist.length;i++){                       //遍历新闻分类标题li
                tlist[i].index=i;                                  //在循环的过程中绑定下标i(0 1 2)到tlist数组相应元素tlist[0] tlist[1] tlist[2]的index变量上
                tlist[i].onmouseover=function(){                   //对新闻分类标题设置鼠标经过事件
                    for(var i=0;i<tlist.length;i++){               //历新闻分类标题li
                        tlist[i].className = "";                   //消除新闻分类标题li后添加的类
                    }
                    this.className="active";                       //将鼠标当前经过的元素的类名设置为active
                    for(var j=0;j<dul.length;j++){                 //遍历新闻列表板块
                        dul[j].className="hide";                   //将新闻列表板块的类设置为隐藏
                    }
                    dul[this.index].className="show";              //将对应鼠标经过的新闻分类的板块的类设置为显示
                }
            }
        }
        </script>
    </head>
    
    <body>
        <!-- HTML页面布局 -->
        <div id="newstitle">
            <ul>
                <li class="active">房 产</li>
                <li>家 居</li>
                <li>二手房</li>
            </ul>
        </div>
        <div id="newsdetails">
            <ul>
                <li><a href="">275万购昌平邻铁三居 总价20万买一居</a></li>
                <li><a href="">200万内购五环三居 140万安家东三环</a></li>
                <li><a href="">北京首现零首付楼盘 53万购东5环50平</a></li>
                <li><a href="">京楼盘直降5000 中信府 公园楼王现房</a></li>
            </ul>
            <ul>
                <li><a href="">40平出租屋大改造 美少女的混搭小窝</a></li>
                <li><a href="">经典清新简欧爱家 90平老房焕发新生</a></li>
                <li><a href="">新中式的酷色温情 66平撞色活泼家居</a></li>
                <li><a href="">瓷砖就像选好老婆 卫生间烟道的设计</a></li>
            </ul>
            <ul>
                <li><a href="">通州豪华3居260万 二环稀缺2居250w甩</a></li>
                <li><a href="">西3环通透2居290万 130万2居限量抢购</a></li>
                <li><a href="">黄城根小学学区仅260万 121平70万抛!</a></li>
                <li><a href="">独家别墅280万 苏州桥2居优惠价248万</a></li>
            </ul>
        </div>
    </body>
    
    </html>
  • 相关阅读:
    第一次作业
    第五次作业
    第三次作业
    第六次作业
    第二次作业
    scikitlearn学习 决策树
    [阅读]Think Python CH3 Functions
    [阅读]Think Python CH2 Variables, Expressions, and Statements
    [阅读]Think Python CH1 The Way of the Program
    Hive操作符和函数
  • 原文地址:https://www.cnblogs.com/jiangtengteng/p/5338623.html
Copyright © 2020-2023  润新知