国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

javascript - 征求最優(yōu)代碼實(shí)現(xiàn)
巴扎黑
巴扎黑 2017-04-10 15:11:12
0
6
447

tab切換在web開(kāi)發(fā)中很常見(jiàn)。請(qǐng)問(wèn)如何用最少、最易維護(hù)的代碼實(shí)現(xiàn)如下圖的功能:點(diǎn)擊左側(cè)tab,右側(cè)切換不同的內(nèi)容。

類庫(kù)使用jQuery。無(wú)需思路,只求代碼,看看各位大神是怎么實(shí)現(xiàn)的。感激不盡

html結(jié)構(gòu)

<p class="catalogue-content">
    <ul class="catalogue-parent">
        <li class="selected">男裝</li>
        <li>女裝</li>
        <li>童裝</li>
    </ul>
    <p class="catalogue-child">
        <p class="catalogue-list">
            <p class="catalogue-line">
                <a href="#">男裝1</a>
                <a href="#">男裝2</a>
            </p>
        </p>
    </p>
    <p class="catalogue-child" style="display: none;">
        <p class="catalogue-list">
            <p class="catalogue-line">
                <a href="#">女裝1</a>
                <a href="#">女裝2</a>
            </p>
        </p>
    </p>
    <p class="catalogue-child" style="display: none;">
        <p class="catalogue-list">
            <p class="catalogue-line">
                <a href="#">童裝1</a>
                <a href="#">童裝2</a>
            </p>
        </p>
    </p>
</p>
巴扎黑
巴扎黑

reply all(6)
伊謝爾倫

你這是要腦洞大開(kāi)的節(jié)奏啊,那就先拋磚引玉了,在數(shù)據(jù)上要做一下改動(dòng).
首先聲明,下面的代碼沒(méi)有經(jīng)過(guò)測(cè)試的,只是順手而為的,正確性自己試驗(yàn)了

<ul class="catalogue-parent">
    <li class="selected" data-index="0">男裝</li>
    <li data-index="1">女裝</li>
    <li data-index="2">童裝</li>
</ul>
var $catalogueChild = $('.catalogue-child');
$('ul.catalogue-parent').find('li').on('click', function() {
    $catalogueChild.hide().eq($(this).attr('data-index')).show();
});

或者這樣呢

var $catalogueChild = $('.catalogue-child');
$('ul.catalogue-parent').find('li').each(function(i) {
    $(this).on('click', function() {
        $catalogueChild.hide().eq(i).show();
    });
});
大家講道理
<script>
    $(function(){
        $(".catalogue-parent li").bind("click",function(){
            $(".catalogue-child").hide().eq($(".catalogue-parent li").index(this)).show();
        })
    })
</script>
大家講道理

無(wú)需思路,只求代碼
你這是耍流氓嘛

阿神

易維護(hù)要看怎么個(gè)維護(hù)法,比如加減tab是維護(hù)?橫的變豎的是維護(hù)?改顏色改大小算維護(hù)?鼠標(biāo)點(diǎn)擊改上浮算維護(hù)?還是只要沒(méi)bug不用改就算維護(hù)了?

總之“最易維護(hù)”是偽命題

另外,看代碼是學(xué)不到思想的,別說(shuō)思想了,就算是算法也很難看代碼就看懂

PHPzhong

懶人之家這個(gè)好像挺適合你的,不管出于什么目的吧,這么的tab切換很多

阿神

代碼如果下

$(function(){
        //綁定tab的點(diǎn)擊事件
        $('.catalogue-parent > li').on('click',function(){
            if($(this).hasClass('selected')){ //點(diǎn)擊的是當(dāng)前顯示的 li
                return false; //直接返回
            } else { //點(diǎn)擊的不是當(dāng)前顯示的 li
                $(this).siblings('.selected').removeClass('selected')
                .end().addClass('selected');  //給點(diǎn)擊的 li, 添加selected

                var indexOfthis = $(this).index('.catalogue-parent > li');
                $('.catalogue-child').hide().eq(indexOfthis).show(); //顯示對(duì)應(yīng)的內(nèi)容

                return false;
            }
        });
    });

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template