使用javascript实现简单的选项卡切换效果

本文介绍了如何使用JavaScript实现简单的选项卡切换效果。通过获取外层div中的li和div元素,清空初始样式,然后在点击li时为选中项添加特定class,达到内容切换的目的。
摘要由CSDN通过智能技术生成
       选项卡页面时JS中十分重要的实现方式,其中所运用到的思想在JS中运用广泛,主要包括for循环以及函数的形参和函数的自定义属性的运用。
          
    静态页面以及样式如下:

<!DOCTYPE html>
    <meta charset="UTF-8">
</head>
< style type=”text/css”>
html,body,div,ul,li,span,a{
    padding: 0;
    font-size:14px;
    font-family: sans-serif;
    list-style: none;
    width:499px;
    margin:40px auto 0;
    border:1px solid #000;
    width: 520px;
overflow: hidden;
    float:left;
    width:167px;
    height:30px;
    text-align: center;
    cursor:pointer;
    margin-right: -1px;
    background:#ffff00;
}
    display: none;
    height: 240px;
    line-height: 240px;
    text-align: center;
    display: block;
    background: #ffff00;
    transition: all .3s;
<div id="tab">
        <li class="select">汽车</li>
        <li>科技</li>
    <div class="select">大众汽车公司尾气排放事件全球继续发酵</div>
    <div>新款iphone再度大卖,安卓市场受到挑战</div>
<script type="text/javascript" src="tab1.js"></script>
</html>

<html>
<head>
    <title></title>
    margin:0;
}
ul,li{
}
#tab{
}
#tab ul{
}
#tab ul li{
    line-height: 30px;
    color:#4a4a4a;
}
#tab ul li.select{
    font-weight:bold;
#tab div{
    width:499px;
}
#tab div.select{
}
</style>
<body>
    <ul>
        <li>财经</li>
    </ul>
    <div>第四季度全国商品房市场有所回暖</div>
</div>
</body>

之后实现的效果如下:


JS效果实现思路如下:


首先我们获得外层div中的每个li和div

再执行我们想要的效果

设置一个函数,在执行这个函数的时候,我们先将所有的li和div的样式清空,在这里就是将他们的class类名清空。

然后当用户点击哪个li的时候,我们将这个li以及相对应的div赋予相应的class类名。

code:

oTab = document.getElementById("tab");
oLis = oTab.getElementsByTagName("li");
oDivs = oTab.getElementsByTagName("div");
function tabCont(n) {
    for (var i = 0; i < oLis.length; i++) {
        oLis[i].className = null;
        oDivs[i].className = null
    }
    oLis[n].className = "select";
    oDivs[n].className = "select";
}
for (var i = 0; i < oLis.length; i++) {
    oLis[i].num = i;
    oLis[i].onmouseover = function () {
        tabCont(this.num);
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值