用排他思想實(shí)現(xiàn)一個(gè)tab欄切換效果

今天學(xué)習(xí)的JS中,要實(shí)現(xiàn)tab欄切換效果谓谦,運(yùn)用了排他思想统扳。


圖片.png

用戶點(diǎn)擊button時(shí)捂蕴,不但button的背景顏色會(huì)改變,而且下面的內(nèi)容也會(huì)隨之改變闪幽。


圖片.png

首先要實(shí)現(xiàn)button的改變啥辨,用for循環(huán)遍歷每個(gè)button,對(duì)所有的button進(jìn)行初始化盯腌,使其類名為空溉知;然后跳出循環(huán),對(duì)當(dāng)前被點(diǎn)擊的button賦予一個(gè)類腕够。
圖片.png

而對(duì)于下面每個(gè)盒子隨著button的不同而改變级乍,首先得先得到每個(gè)button的序號(hào),對(duì)每個(gè)進(jìn)行匹配帚湘,使之互相對(duì)應(yīng)玫荣。


圖片.png

tab欄封裝

多個(gè)tab欄切換時(shí)需要用大盒子的id區(qū)分來封裝函數(shù),代碼如下:

html

<div class="box" id="one">
        <div class="mt">
            <span class="current">新聞</span>
            <span>體育</span>
            <span>娛樂</span>
            <span>八卦</span>
        </div>
        <div class="mb">
            <ul>
                <li class="show">新聞模塊</li>
                <li>體育模塊</li>
                <li>娛樂模塊</li>
                <li>八卦模塊</li>
            </ul>
        </div>
    </div>
    
    <div class="box" id="two">
        <div class="mt">
            <span class="current">新聞</span>
            <span>體育</span>
            <span>娛樂</span>
            <span>八卦</span>
        </div>
        <div class="mb">
            <ul>
                <li class="show">新聞模塊</li>
                <li>體育模塊</li>
                <li>娛樂模塊</li>
                <li>八卦模塊</li>
            </ul>
        </div>
    </div>
    
    <div class="box" id="three">
        <div class="mt">
            <span class="current">新聞</span>
            <span>體育</span>
            <span>娛樂</span>
            <span>八卦</span>
        </div>
        <div class="mb">
            <ul>
                <li class="show">新聞模塊</li>
                <li>體育模塊</li>
                <li>娛樂模塊</li>
                <li>八卦模塊</li>
            </ul>
        </div>
    </div>

css

* {
            margin: 0;
            padding: 0;
        }
        ul {
            list-style: none;
        }
        .box {
            width: 350px;
            height: 300px;
            border: 1px solid #ccc;
            margin: 100px auto;
            overflow: hidden;
        }
        .mt span {
            display: inline-block;
            width: 80px;
            height: 30px;
            text-align: center;
            line-height: 30px;
            cursor: pointer;
            background-color: pink;
        }
        .mt .current {
            background-color: purple;
        }
        .mb li {
            width: 100%;
            height: 270px;
            background-color: purple;
            display: none;
        }
        .mb .show {
            display: block;
        }

js

window.onload = function() {
    //想多個(gè)盒子互不影響     可以通過用id來區(qū)分開
    
    //封裝tab欄切換函數(shù)——id函數(shù)
    function tab(obj) {
        var target =  document.getElementById(obj);
        var spans = target.getElementsByTagName('span');
        var lis = target.getElementsByTagName('li');
        
        for (var i = 0;i < spans.length;i++) {
            //記錄索引號(hào)
            spans[i].index = i;
            spans[i].onmouseover = function() {
                for (var j = 0;j < spans.length;j++) {
                    spans[j].className = '';
                    lis[j].className = '';
                }
                this.className = 'current';
                lis[this.index].className = 'show';
            }
        }
    }
    //三個(gè)盒子都用到大诸,所以要調(diào)用三次,把他們的id調(diào)用進(jìn)去
    tab('one');
    tab('two');
    tab('three');
}

效果圖

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末捅厂,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子资柔,更是在濱河造成了極大的恐慌焙贷,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贿堰,死亡現(xiàn)場(chǎng)離奇詭異辙芍,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)羹与,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門故硅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人纵搁,你說我怎么就攤上這事吃衅。” “怎么了诡渴?”我有些...
    開封第一講書人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵捐晶,是天一觀的道長(zhǎng)菲语。 經(jīng)常有香客問我,道長(zhǎng)惑灵,這世上最難降的妖魔是什么山上? 我笑而不...
    開封第一講書人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮英支,結(jié)果婚禮上佩憾,老公的妹妹穿的比我還像新娘。我一直安慰自己干花,他們只是感情好妄帘,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著池凄,像睡著了一般抡驼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上肿仑,一...
    開封第一講書人閱讀 52,268評(píng)論 1 309
  • 那天致盟,我揣著相機(jī)與錄音,去河邊找鬼尤慰。 笑死馏锡,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的伟端。 我是一名探鬼主播杯道,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼责蝠!你這毒婦竟也來了党巾?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤玛歌,失蹤者是張志新(化名)和其女友劉穎昧港,沒想到半個(gè)月后擎椰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體支子,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年达舒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了值朋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡巩搏,死狀恐怖昨登,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情贯底,我是刑警寧澤丰辣,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布撒强,位于F島的核電站,受9級(jí)特大地震影響笙什,放射性物質(zhì)發(fā)生泄漏飘哨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一琐凭、第九天 我趴在偏房一處隱蔽的房頂上張望芽隆。 院中可真熱鬧,春花似錦统屈、人聲如沸胚吁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽腕扶。三九已至,卻和暖如春吨掌,著一層夾襖步出監(jiān)牢的瞬間蕉毯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來泰國打工思犁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留代虾,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓激蹲,卻偏偏與公主長(zhǎng)得像棉磨,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子学辱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5乘瓤? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 27,513評(píng)論 1 45
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,288評(píng)論 25 707
  • 雨中的行人很少 云雀盤旋 樹葉飄散 嬉戲的孩子被淋濕了 街上的人聲喧鬧 日出微笑 日落奔跑 加冰的紅茶全部喝掉 空...
    愛醬lll閱讀 384評(píng)論 26 15
  • 最近策泣,7mall君看到一篇關(guān)于暴力傳銷的案例衙傀,湖北非法拘禁,致人殞命萨咕,湖北兩名傳銷職員被判刑统抬。從湖北省高級(jí)人民法院...
    0e67b7d9b5ad閱讀 180評(píng)論 0 0
  • 最摯愛的嫲, 當(dāng)你收到這封信請(qǐng)不要驚訝危队,我有些話想對(duì)你說聪建。 嫲,你知道嗎茫陆,我仍記得小學(xué)一年級(jí)的時(shí)候金麸,在學(xué)校門外的坡...
    三丘的世界閱讀 359評(píng)論 0 0