標題非常簡潔的切換方法,但不知道問題出在哪里?
<!DOCTYPE html>
<html>
<head>
? ? <meta charset="UTF-8">
? ? <title>實踐題 - 選項卡</title>
? ? <style type="text/css">
? ? ?/* CSS樣式制作 */ ?
? ? ? ? *{
? ? ? ? ?margin:0;
? ? ? ? ?padding:0;
? ? ? ? ?box-sizing: border-box
? ? ? ? ?}
? ? ? ? body{
? ? ? ? ? ? width:100%;
? ? ? ? ? ? height:100%;
? ? ? ? }
? ? ? ? .con{
? ? ? ? ? ? width:100%;
? ? ? ? ? ? height:100%;
? ? ? ? ? ? margin:10px auto;
? ? ? ? }
? ? ? ? .houseInfo{
? ? ? ? ? ? border:1px solid #ccc;
? ? ? ? ? ? border-bottom:2px solid red;
? ? ? ? ? ? font-size:16px;
? ? ? ? ? ? font-family:"黑體";
? ? ? ? ? ? display:inline-block;
? ? ? ? ? ? line-height:30px;
? ? ? ? ? ? padding:0 20px;
? ? ? ? ? ? border-radius:2px;
? ? ? ? }
? ? ? ? ul{
? ? ? ? ? ? margin-top:-2px;
? ? ? ? ? ? min-height:110px;
? ? ? ? ? ? padding-top:10px;
? ? ? ? ? ? border:1px solid blue;
? ? ? ? ? ? border-top:2px solid red;
? ? ? ? }
? ? ? ??
? ? ? ? li{
? ? ? ? ? ?padding-left:5px;
? ? ? ? ? ?list-style:none;
? ? ? ? ? ?line-height:20px;
? ? ? ? ? ?font-size:12px;
? ? ? ? ? ?font-weight:bold;
? ? ? ? ? ?font-family:"微軟雅黑";
? ? ? ? ? ?}
? ? ? ? .tabOn{
? ? ? ? ? ?border-top:2px solid red;
? ? ? ? ? ?border-bottom:2px solid #fff;
? ? ? ? }
? ? ? ?
? ? </style>
? ??
?
</head>
<body>
<!-- HTML頁面布局 -->
? ? <div>
? ? ? ? <h4 class="houseInfo tabOn">房產</h4>
? ? ? ? <h4>家居</h4>
? ? ? ? <h4>二手房</h4>
? ? ? ? <ul id="info1">
? ? ? ? ? ?<li>275萬購昌平鄰鐵三居 總價20萬買一居</li>?
? ? ? ? ? ?<li>200萬內購五環三居 140萬安家東三環</li>
? ? ? ? ? ?<li>北京首現零首付樓盤 53萬購東5環50平</li>
? ? ? ? ? ?<li>京樓盤直降5000 中信府 公園樓王現房</li>
? ? ? ? </ul>
? ? ? ? <ul id="info2">
? ? ? ? ? ?<li>40平出租屋大改造 美少女的混搭小窩</li>?
? ? ? ? ? ?<li>經典清新簡歐愛家 90平老房煥發新生</li>
? ? ? ? ? ?<li>新中式的酷色溫情 66平撞色活潑家居</li>
? ? ? ? ? ?<li>瓷磚就像選好老婆 衛生間煙道的設計</li>
? ? ? ? </ul>
? ? ? ? <ul id="info3">
? ? ? ? ? ?<li>通州豪華3居260萬 二環稀缺2居250w甩</li>?
? ? ? ? ? ?<li>西3環通透2居290萬 130萬2居限量搶購</li>
? ? ? ? ? ?<li>黃城根小學學區僅260萬 121平70萬拋!</li>
? ? ? ? ? ?<li>獨家別墅280萬 蘇州橋2居優惠價248萬</li>
? ? ? ? </ul>
? ? </div>?
?<script type="text/javascript">
? ? // JS實現選項卡切換
? ? ?window.onload = function(){
? ? ? ? console.log(111);
? ? var houseInfo=document.getElementsByClassName("houseInfo");
? ? ?
? ? for(var i=0;i<houseInfo.length;i++){
? ? ?var houseInfo[i].index=i;
? ? ? ? this.onclick=function(){
? ? ? ? ? ? this.className("houseInfo tabOn");
? ? ? ? ? ? var info=document.getElementsById("info"+(this.index+1));
? ? ? ? ? ? info.style.display="block";
? ? ? ? ? ? var houother=sibling(houseInfo[i]);
? ? ? ? ? ? for(var j=0;j<houother.length;j++){
? ? ? ? ? ? ? ? houother[j].className("houseInfo");
? ? ? ? ? ? }
? ? ? ? ? ? var infother=sibling(info);
? ? ? ? ? ? for(var j=0;j<infother.length;j++){
? ? ? ? ? ? ? ? infother[j].style.display="none";
? ? ? ? ? ? }
? ? ? ? })
? ? }
? ? }
? ??
? ? function sibling(elem) {?
? ? var r = [];?
var n = elem.parentNode.firstChild;?
for ( ; n; n = n.nextSibling ) {?
? ?if ( n.nodeType === 1 && n !== elem ) {?
? ? ? ?r.push( n );?
? ?}?
}?
return r;?
}
? ??
? ??
? ??
? ? </script>
</body>
</html>
2015-10-09
我的意思是可以實現多個選項卡的切換,多謝你的回答~
2015-09-30
問題很多,樣式是塊級元素與行級元素理解不清。js不僅語法上存在錯誤,而且邏輯上可能你想多了,因此直接重寫代碼如下,你看自己能否看懂。