實現(xiàn)一個TAB選項卡

這里實現(xiàn)一個簡單的需求,當鼠標移入某個div區(qū)域時,顯示不同的內(nèi)容,即TAB切換選項卡.這里是用事件來實現(xiàn), 知識點較少, 下次 寫一個構(gòu)造函數(shù)實現(xiàn)的, 理解更加清晰.

分析

  1. HTML 兩個div, 一個標題, 一個內(nèi)容
  2. CSS部分通過給標題,內(nèi)容的ul設(shè)置class屬性為active, 先設(shè)置ul為display: none, 后給active設(shè)置display: block, 此時,默認顯示選中的ul部分.
  3. JS部分獲取標題下所有的li, 獲取內(nèi)容下的所有ul,因為是逐個顯示ul的,遍歷所有的li, 給li添加鼠標移入事件 , 把tabs 和 ul的class name修改掉即可. 沒有移入時, 將class name設(shè)置為active即可

JS部分


    window.onload = function() {
            var $ = function(ids) {
                return document.getElementById(ids);
            }
            var tabs = $("tabs").getElementsByTagName("li");
            var state = $("state");
            var ul = list.getElementsByTagName("ul");

            for (var i = 0; i < tabs.length; i++) {
                tabs[i].index = i;
                tabs[i].onmouseover = function() {
                    for (var i = 0; i < tabs.length; i++) {
                        tabs[i].className = ul[i].className = '';
                    }
                    this.className = ul[this.index].className = "active";
                }
            }
    }

HTML 部分

    <div id="content">
        <div id="tabs">
            <ul>
                <li class="active">暴給力</li>
                <li>職業(yè)指導(dǎo)</li>
                <li>充電區(qū)</li>
            </ul>
            <span id="state">-</span>
        </div>
        <div id="list">
            <ul class="active">
                <li>IE6 PNG 解決方案合集</li>
                <li>firefox下輸入框innerHtml問題</li>
                <li>精品菜單導(dǎo)航,多年精心收集整理上上品菜單</li>
            </ul>
            <ul>
                <li>騰訊面試題</li>
                <li>近期面試感受</li>
                <li>騰訊實習(xí)生web前端js開發(fā)工程師面試經(jīng)歷</li>
            </ul>
            <ul>
                <li>厘米IT學(xué)院第89期</li>
                <li>厘米IT學(xué)院第88期</li>
                <li>厘米IT學(xué)院第87期</li>
            </ul>
        </div>
    </div>

CSS 部分


    * {
        margin: 0;
        padding: 0;
    }

    body {
        font-size: 12px;
    }

    #content {
        /*margin: 0 auto;*/
        width: 600px;
        border: 1px #000 solid;
    }

    #tabs {
        height: 30px;
        background: black;
        overflow: hidden;
        position: relative;
    }

    #tabs #state {
        display: block;
        top: 0;
        right: 0;
        width: 30px;
        height: 30px;
        font-size: 24px;
        font-weight: 700;
        text-align: center;
        color: #fff;
        cursor: pointer;
        position: absolute;
    }

    #tabs li {
        display: inline;
        /**/
        padding: 0 8px;
        line-height: 30px;
        color: #fff;
        list-style: none;
        cursor: pointer;
        float: left;
    }

    #tabs .active {
        color: #000;
        background: #fff;
    }

    #list {
        padding: 10px 0;
    }

    #list ul {
        margin: 0 25px;
        display: none;
    }

    #list ul li {
        height: 25px;
        line-height: 25px;

    }

    #list .active {
        display: block;
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽?zāi)J的外補...
    _Yfling閱讀 14,108評論 1 92
  • ?前端面試題匯總 一、HTML和CSS 21 你做的頁面在哪些流覽器測試過?這些瀏覽器的內(nèi)核分別是什么? ...
    Simon_s閱讀 2,365評論 0 8
  • 第5章 菜單、按鈕及導(dǎo)航 一、下拉菜單 小伙伴們注意,在Bootstrap框架中的下拉菜單組件是一個獨立的組件,根...
    凜0_0閱讀 5,308評論 0 66
  • 昨夜又有點神經(jīng)質(zhì)……很多事,無需解釋;很多人,無需掛念;坦蕩蕩,無戚戚!心情不好,傷害的是自己,還有愛你的人,所以...
    吟心閣主閱讀 264評論 0 0
  • 關(guān)于生命,每個人都是相同的旅程,從出生到死亡。都是相同的開頭和結(jié)尾,悄無聲息的降臨,又悄無聲息的離去。然后,貫穿人...
    夏初晨閱讀 382評論 0 2

友情鏈接更多精彩內(nèi)容