4行JS代码实现选项卡,带注释详解
<!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>