为了账号安全,请及时绑定邮箱和手机立即绑定

选项卡切换不了,不晓得是哪里出错了

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>实践题 - 选项卡</title>
    <style type="text/css">
     /* CSS样式制作 */
     *{margin:0;padding:0;font:normal  12px "Microsoft yahei";}
    .box{width:290px;padding:5px;margin:20px;height:150px;}
    .box .box_title{height:30px;line-height:30px;padding-left:0;}
    .box .box_title li{display:inline-block;width:60px;height:28px;line-height:28px;border:1px solid #ccc;border-bottom:none;list-style-type:none;text-align:center;margin-right:5px;}
    .box .box_title li.on{border-top:2px solid #f00;border-bottom:2px solid #fff;}
    .box div{padding:0 15px;height:150px;border:1px solid #ccc;border-top:2px solid #f00;width:100%;overflow:hidden;line-height:30px;}
    .hide{display:none;}
    </style>
    <script type="text/javascript">
         
    // JS实现选项卡切换
window.onload=function(){
    var Box=document.getElementById("box");
    var ul=Box.getElementsByTagName("ul")[0];
    var lis=ul.getElementsByTagName("li");
    var divs=lis.getElementsByTagName("div");
    
    var len=lis.length;
    for(var i=0;i<len;i++){
        lis[i].index=i;
        lis[i].onclick=function(){
            for(var n=0;n<len;n++){
                 lis[n].className="";
                 lis[n].className="hide";
            }
        this.className="on";
        divs[this.index].className="";
            
        }
        
    };
}
    </script>
 
</head>
<body>
<!-- HTML页面布局 -->
<div id="box">
    <ul>
        <li>房产</li>
        <li>家居</li>
        <li>二手房</li>
    </ul>
    <div>275万购昌平邻铁三居 总价20万买一居</br>
        200万内购五环三居 140万安家东三环</br>
        北京首现零首付楼盘 53万购东5环50平</br>
        京楼盘直降5000 中信府 公园楼王现房</br>
    </div>
    <div>40平出租屋大改造 美少女的混搭小窝</br>
         经典清新简欧爱家 90平老房焕发新生</br>
         新中式的酷色温情 66平撞色活泼家居</br>
         瓷砖就像选好老婆 卫生间烟道的设计</br>
    </div>
    
    <div>通州豪华3居260万 二环稀缺2居250w甩</br>
         西3环通透2居290万 130万2居限量抢购</br>
         黄城根小学学区仅260万 121平70万抛!</br>
         独家别墅280万 苏州桥2居优惠价248万</br>
    </div>
 </div>
</body>
</html>

正在回答

3 回答

window.onload=function(){
        var Box=document.getElementById("box");
        var ul=Box.getElementsByTagName("ul")[0];
        var lis=ul.getElementsByTagName("li");
        var  var divs=lis.getElementsByTagName("div");//应该是divs=Box.getElementsByTagName("div");
        
        var len=lis.length;
        for(var i=0;i<len;i++){
            lis[i].index=i;
            lis[i].onclick=function(){
                for(var n=0;n<len;n++){
                     lis[n].className="";
                     lis[n].className="hide";//应该是divs[n].className="hide";
                }
            this.className="on";
            divs[this.index].className="";
                
            }
        
    };


0 回复 有任何疑惑可以回复我~

问题出在循环那里,循环给li加上onclick事件,当onclink事件点击的时候,循环让所有选项卡li的样式去掉,所有的div内容隐藏。然后让所点击的选项,及对应内容显示。

参考我的答案:

for (var i=0;i<len;i++){
                tab_t_li[i].index=i;
               tab_t_li[i].onclick= function(){
                    for(i=0; i<len; i++){
                       tab_t_li[i].className = '';
                        tab_c_li[i].className = 'hide';
                   }
                    tab_t_li[this.index].className = 'act';
                    tab_c_li[this.index].className = '';
                }

0 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//57604fa70001099c04410131.jpg

请检查这段代码,谢谢。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

选项卡切换不了,不晓得是哪里出错了

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号