目标实现如图所示选项卡切换的效果。
效果图:
自己写的
test.html
.
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>标签</title>
<link href="style.css" rel="stylesheet">
</head>
<body>
<ul>
<li class="active" onmouseover="change(this);"><a>第一选项</a> </li>
<li onmouseover="change(this);"><a>第二选项</a></li>
<li onmouseover="change(this);"><a>第三选项</a></li>
<li onmouseover="change(this);"><a>第四选项</a></li>
</ul>
<div class="show">
这是对应第一选项卡的内容,自己写的,实现方法有点笨。这是对应第一选项卡的内容,自己写的,实现方法有点笨。这是对应第一选项卡的内容,自己写的,实现方法有点笨。
</div>
<div class="hide">
这是对应第二选项卡的内容,我是凑字数的。这是对应第二选项卡的内容,我是凑字数的。这是对应第二选项卡的内容,我是凑字数的。
</div>
<div class="hide">
这是对应第三选项卡的内容。这是对应第三选项卡的内容。这是对应第三选项卡的内容。
</div>
<div class="hide">
这是对应第四选项卡的内容。This is the fourth part.
</div>
<script>
function change(obj){
var lia=document.getElementsByTagName("li");
for(var i=0;i<lia.length;i++){
lia[i].className="";
}
obj.className="active";
var index=0;
for(var j=0;j<lia.length;j++){
if(lia[j].className=="active"){
index=j;
break;
}
}
var divs=document.getElementsByTagName("div");
for(var i=0;i<lia.length;i++){
divs[i].className="hide";
}
divs[index].className="show";
}
</script>
</body>
</html>
样式表style.css
/*ul显示样式*/
ul{
display:inline;
}
/*li 前面无圆点,圆角,底边没线,鼠标移上显示小手*/
li{
margin-left:2px;
list-style-type:none;
float:left;
background:#ffffff;
border-style:solid;
border-radius:8px;
border-bottom-style:none;
cursor: pointer;
}
/*li激活时样式*/
.active{
background:#1E90FF;
font-weight:bold;
color:white;
}
/*div显示时的样式*/
.show{
display:block;
background:#F2F2F2;
width:300px;
}
/*div隐藏*/
.hide{
display:none;
}
这是别人写的例子
demo.html
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>实践题 - 选项卡</title>
<style type="text/css">
/* CSS样式制作 */
*{margin:0;padding:0;font:normal 12px "微软雅黑";color:#000000;}
ul{list-style-type: none;}
a{text-decoration: none;}
#tab-list{width: 275px;height:190px;margin: 20px auto;}
#ul1{border-bottom: 2px solid #8B4513;height: 32px;}
#ul1 li{display: inline-block;width: 60px;line-height: 30px;text-align: center;border: 1px solid #999;border-bottom: none;margin-left: 5px;}
#ul1 li:hover{cursor: pointer;}
#ul1 li.active{border-top:2px solid #8B4513;border-bottom:2px solid #FFFFFF;}
#tab-list div{border: 1px solid #7396B8;border-top: none;}
#tab-list div li{height: 30px;line-height: 30px;text-indent: 8px;}
.show{display: block;}.hide{display: none;}
</style>
<script type="text/javascript">
window.onload = function() {
var oUl1 = document.getElementById("ul1");
var aLi = oUl1.getElementsByTagName("li");
var oDiv = document.getElementById("tab-list");
var aDiv = oDiv.getElementsByTagName("div");
for(var i = 0; i < aLi.length; i++) {
aLi[i].index = i;
aLi[i].onmouseover = function() {
for(var i = 0; i < aLi.length; i++) {
aLi[i].className = "";
}
this.className = "active";
for(var j = 0; j < aDiv.length; j++) {
aDiv[j].className = "hide";
}
aDiv[this.index].className = "show";
}
}
}
</script>
</head>
<body>
<!-- HTML页面布局 -->
<div id="tab-list">
<ul id="ul1">
<li class="active">房产</li><li>家居</li><li>二手房</li>
</ul>
<div>
<ul>
<li><a href="javascript:;">275万购昌平邻铁三居 总价20万买一居</a></li>
<li><a href="javascript:;">200万内购五环三居 140万安家东三环</a></li>
<li><a href="javascript:;">北京首现零首付楼盘 53万购东5环50平</a></li>
<li><a href="javascript:;">京楼盘直降5000 中信府 公园楼王现房</a></li>
</ul>
</div>
<div class="hide">
<ul>
<li><a href="javascript:;">40平出租屋大改造 美少女的混搭小窝</a></li>
<li><a href="javascript:;">经典清新简欧爱家 90平老房焕发新生</a></li>
<li><a href="javascript:;">新中式的酷色温情 66平撞色活泼家居</a></li>
<li><a href="javascript:;">瓷砖就像选好老婆 卫生间烟道的设计</a></li>
</ul>
</div>
<div class="hide">
<ul>
<li><a href="javascript:;">通州豪华3居260万 二环稀缺2居250w甩</a></li>
<li><a href="javascript:;">西3环通透2居290万 130万2居限量抢购</a></li>
<li><a href="javascript:;">黄城根小学学区仅260万 121平70万抛!</a></li>
<li><a href="javascript:;">独家别墅280万 苏州桥2居优惠价248万</a></li>
</ul>
</div>
</div>
</body>
</html>