用纯js 实现两个div按钮之间的切换

 我来答
封子雨
推荐于2017-12-16 · 超过16用户采纳过TA的回答
知道答主
回答量:39
采纳率:100%
帮助的人:32.7万
展开全部
var switchTab = function(tabs, conts, current){
    var i,
        len;
    if(typeof current == "undefined") current = 0;
    if(typeof conts == 'number'){
        current = arguments[1];
        conts = false;
    }

    var helper = function(index){
        tabs[index].addEventListener('click', function(){
            this.className.length > 0 && 
              this.className.indexOf('curr') < 0 ? 
                this.className += ' curr' : this.className = 'curr';
            if( tabs[index] && current != index){
                tabs[current].className = 
                       tabs[current].className.replace(/\s?curr+\s?/, "");
                if(conts){
                    conts[index].style.display = "block";
                    conts[current].style.display = 'none';
                }
                current = index;
            }
        }, false);
    }
    for( i = 0, len = tabs.length; i < len; i++ ){
        helper(i);
    }
}
//tab导航切换
switchTab(document.querySelectorAll('.tab-nav li'),
     document.querySelectorAll('.cont-body'));
     //参数1 tab元素集合
     //参数2 div cont元素集合
    //参数3 默认选中的tab页  可选参数
 <!--大致HTML结构-->
<nav class="tab-nav">
        <ul class="clearfix">
            <li class="curr">1</li>  <!--当前选中项curr类(需要自己写)-->
            <li>2</li>
            <li>3</li>
        </ul>
</nav>
<div class="tab-cont">
    <div class="cont-body">1</div>
    <div class="cont-body">2</div>
     <div class="cont-body">3</div>
<div>
<!--很多地方还可以在写好一点,仅供参考-->
我爱的人043
2019-12-25
知道答主
回答量:3
采纳率:0%
帮助的人:1.9万
展开全部
nonenonevnone
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式