4行JS代码实现选项卡,带注释详解

来源:10-1 编程挑战

帅哥保护协会

2020-10-21 17:17

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>实践题 - 选项卡</title>

    <style type="text/css">

     /* CSS样式制作 */  

      .hover{background-color: red;color: #fff;

  .disn{display: none;}

    </style>

    <script type="text/javascript">

    // JS实现选项卡切换

    function setTab(name,num,n){

     // name  帮参数 li,con 获取对应元素ID的工具人参数。

     // num,各选项卡的ID号,通过for循环中参数 i 是否等于num触发改hover类名和改display属性

     // n 总选项卡个数,限定for循环范围。

     for(var i=1;i<=n;i++){

     var li =document.getElementById(name+i);

     // 定义参数 li 获取选项卡nav的ID

     var con=document.getElementById('con_'+name+'_'+i);

     // 定义参数 con 获取选项卡内容的ID

     li.className=i==num?"hover":"";

     // i是否等于函数setTab第二参数num?如果是就赋li(选项卡nav)的类名为hover,否则为空

     con.style.display=i==num?"block":"none";

     // i是否等于函数setTab第二参数num?如果是就赋con的display属性为block,否则为none

     }

     // 循环过程,选项卡1和2

     // 鼠标经过2,num参数为2,for循环1的时候,给1的nav一个空类名,且选项卡内容display:none,循环到2的时候,给display:block

     }

    </script>

</head>

<body>

<!-- HTML页面布局 -->

<div class="hd">

    <span class="hover" id="one1" onmouseover="setTab('one',1,3)">房产</span>

    <span id="one2" onmouseover="setTab('one',2,3)">家居</span>

    <span id="one3" onmouseover="setTab('one',3,3)">二手房</span>

</div>

 <div class="bd">

     <div class="list" id="con_one_1">

        <p>275万购昌平邻铁三居 总价20万买一居</p>

        <p>200万内购五环三居 140万安家东三环</p>

        <p>北京首现零首付楼盘 53万购东5环50平</p>

        <p>京楼盘直降5000 中信府 公园楼王现房</p>

     </div>

     <div class="list disn" id="con_one_2">

        <p>40平出租屋大改造 美少女的混搭小窝</p>

        <p>经典清新简欧爱家 90平老房焕发新生</p>

        <p>新中式的酷色温情 66平撞色活泼家居</p>

        <p>瓷砖就像选好老婆 卫生间烟道的设计</p>

     </div>

     <div class="list disn" id="con_one_3">

        <p>通州豪华3居260万 二环稀缺2居250w甩</p>

        <p>西3环通透2居290万 130万2居限量抢购</p>

        <p>黄城根小学学区仅260万 121平70万抛!</p>

        <p>独家别墅280万 苏州桥2居优惠价248万</p>

     </div>

 </div>

</body>

</html>


写回答 关注

0回答

还没有人回答问题,可以看看其他问题

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题