jQuery與CSS結合製作tab效果有一個很重要的地方需要注意。

來源:互聯網
上載者:User

   今天在寫一個tab效果時遇到一個問題,迷惑了一會,以前同一個效果寫過很多回,都沒出現這個問題。剛開始還真有點二丈的和尚摸不著頭腦,不知道這是怎麼回事,心裡犯嘀咕,這裡從來都沒有出過bug呀???

   問題描述與分析:在選項卡切換的時候,有class屬性名稱為“selected”的相滑鼠經過時,也會出現“hover”的效果。正常情況下是選中的相不會有滑鼠經過的效果,只有沒有選中的相才會有滑鼠經過的效果。出現這個問題,我首先看jq的代碼,發現沒有問題,一丁點問題都沒有。半天之後,我想,難道是我的CSS有問題。想到這裡,就是關鍵了。問題還真的出在這裡。其實選中與不選中都有"hover"事件的,只是看他們表現的是哪個樣式。這個時候應該讓".selected"的樣式寫在".hover"樣式的後面,因為在CSS裡,優先順序的關係,後寫的優先於先寫的,如果選取器層級一樣的話。


代碼呈現:

div:

<div class="tab">                    <div class="tab_menu">                        <ul>                            <li class="selected">產品屬性</li>                            <li>產品尺碼錶</li>                            <li>產品介紹</li>                        </ul>                    </div>                    <div class="tab_box">                        <div>                            沿用風靡百年的經典全棉牛津紡面料,通過領先的液氨整理技術,使面料的抗皺效能更上一層。延續簡約、舒適、健康設計理念,特推出免燙、易打理的精細免燙牛津紡長袖襯衫系列。                        </div>                        <div class="hide">                            來自新疆無汙染的生態棉花,採用緊密紡精梳棉紗,單經雙緯的織造組織,造就了顆粒飽滿、樸實無華、溫潤細膩的經典牛津紡,易洗快乾、手感豐軟、吸濕性好。設計師遵循布料完美肌理,立體剪裁,曲擺的現代人性化裁減,相得益彰,渾然天成。                        </div>                        <div class="hide">                            世界權威德國科德寶的襯和英國高士縫紉線使成衣領型自然舒展、永不變形,縫線部位平服工整、牢固耐磨;人性化的4片式後背打褶結構設計提供更舒適的活動空間;領尖扣的領型設計戴或不戴領帶風格炯同、瞬間呈現;醇正天然設計,只為彰顯自然榮耀。                        </div>                    </div>                </div>


JQ:

var $div_li=$(".tab_menu ul li");    $div_li.click(function(){        $(this).addClass("selected")            .siblings().removeClass("selected");        var index=$div_li.index(this);        $(".tab_box div").eq(index).show()            .siblings().hide();    }).hover(function(){        $(this).addClass("hover");    },function(){        $(this).removeClass("hover");    });


CSS:

.tab_menu ul li{    float:left;    width:auto;    margin-right:4px;    border:1px solid #898989;    border-bottom:none;    padding:1px 6px;    background:#f1f1f1;    cursor:pointer;}.tab_menu ul li.hover{    background:#dfdfdf;}.tab_menu ul li.selected{    color:#fff;    background:#6D84B4;}


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.