慕小小白
2017-05-29 11:07
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>实践题 - 选项卡</title>
<style type="text/css">
/* CSS样式制作 */
*{
margin:0;
padding:0;
font-family:"微软雅黑";
}
#content{
height:600px;
width:600px;
position:absolute;
top:50px;
left:50%;
margin-left:-200px;
}
ul{
position:absolute;
margin-left:10px;
z-index:100;
}
ul li{
list-style:none;
font-size:20px;
height:40px;
width:100px;
line-height:40px;
text-align:center;
border:2px solid gray;
display:inline-block;
border-bottom:none;
}
div div{
border:2px solid blue;
border-top:4px solid #cc9900;
display:none;
position:absolute;
top:44px;
height:150px;
width:400px;
padding:10px 15px 10px 10px;
font-size:18px;
}
ul .selected{
border-top:4px solid #cc9900;
border-bottom:4px solid white;
}
div .selected{
display:inline-block;
}
</style>
<script type="text/javascript">
// JS实现选项卡切换
//选项卡实现思路
//第一步:
//鼠标滑倒某一个li上,先让所有li都没有select样式,然后再让当前li有select样式
//第二步:要操作谁就线获取谁
var div1=document.getElementById("content");
var lis=div1.getElementsByTagName("li");
var divs=div1.getElementsByTagName("div");
//第三步:给我们的li绑定鼠标移上去的事件
for(i=0;i<lis.length;i++){
lis[i].k=i;
lis[i].onmouseover=function(){
changecolor(this.k);
}
}
//第四步:制定一个功能方法,实现我们的需求
//nIndex是我们定义形参,代表当前被选择的元素索引
function changecolor(k){
for(var j=0;j<lis.length;j++){
lis[j].className="";
divs[j].className="";
}
lis[k].className="selected";
divs[k].className="selected";
}
</script>
</head>
<body>
<!-- HTML页面布局 -->
<div id="content">
<ul>
<li>房产</li>
<li>家居</li>
<li>二手房</li>
</ul>
<div>275万购昌平邻铁三居 总价20万买一居<br/>
200万内购五环三居 140万安家东三环<br/>
北京首现零首付楼盘 53万购东5环50平<br/>
京楼盘直降5000 中信府 公园楼王现房</div>
<div> 40平出租屋大改造 美少女的混搭小窝<br/>
经典清新简欧爱家 90平老房焕发新生<br/>
新中式的酷色温情 66平撞色活泼家居<br/>
瓷砖就像选好老婆 卫生间烟道的设计</div>
<div> 通州豪华3居260万 二环稀缺2居250w甩<br/>
西3环通透2居290万 130万2居限量抢购<br/>
黄城根小学学区仅260万 121平70万抛!<br/>
独家别墅280万 苏州桥2居优惠价248万</div>
</div>
</body>
</html>
因为在加载var lis=div1.getElementsByTagName("li");时,浏览器还未加载到li标签,所以li是未定义的,只要把js部分放在浏览器加载完页面后加载即可正常实现“window.onload可实现此功能”
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题