cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Bolehkah sesiapa membimbing saya tentang cara melaksanakan senarai navigasi pengepala Toutiao?


Teknologi yang saya klik sekarang berada di tengah-tengah. Bagaimana saya boleh mengklik pada perkara lain dan pergi ke tengah?

typechotypecho2754 hari yang lalu1023

membalas semua(5)saya akan balas

  • ringa_lee

    ringa_lee2017-06-30 09:54:13

    Apabila mengklik Tentera, dapatkan jarak antara dom tentera dan sebelah kiri dom induk, bahagikan jarak dengan 2, dan kemudian gerakkannya

    balas
    0
  • PHP中文网

    PHP中文网2017-06-30 09:54:13

    Jika anda mengklik yang paling kiri dan memusatkannya, bukankah bahagian kiri akan kosong?

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-30 09:54:13

    Apabila anda klik pada jenis yang mana, jarak antara dom ini dan sebelah kiri dom induk boleh dikira
    Lebar skrin boleh dikira
    Bandingkan jarak dom dengan separuh lebar skrin. dan kemudian membuat pertimbangan Bila hendak bergerak dan sejauh mana hendak bergerak

    balas
    0
  • 迷茫

    迷茫2017-06-30 09:54:13

    margin-left:-(x * this.index)px;
    Tentukan indeks objek yang sedang diklik dan kemudian hitung offset

    balas
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-30 09:54:13

    Saya baru sahaja melakukan ujian demo ini semalam. Susun atur Unexpected Encounter juga sama seperti Toutiao.
    Kaedah pelaksanaan JQ:

    html

    <ul class="nav" >
        <li class="active">第0个</a>
        <li>第1个</a>
        <li>第2个</a>
        <li>第3个</a>
        <li>第4个</a>
        <li>第5个</a>
        <li>第6个</a>
        <li>第7个</a>
        <li>第8个</a>
    </ul        

    css

    .nav{
        white-space: nowrap;
        overflow-x: scroll;
        width: 100%;
        border-bottom: 1px solid #ccc;
    }
    .nav li{
        display: inline-block;
        margin: 0 12px;
        line-height: 0.8rem;
        color: #222222;
         padding: 20px 0;
    }
    .nav .active{color:#F23030;}

    jq

    //导航条宽度
    var navW = $('.navs').width();
    //页面宽度
    var docW = $(document).width();
    $('.nav li').click(function(){
        //移除样式
        $('.nav li').removeClass('active');
        //当前添加样式
        $(this).addClass('active');
        //当前li宽度
        var thisW = $(this).width();
        //要移动的距离
        var left = $('.nav').scrollLeft() + ($(this).offset().left)-(docW/2 - thisW/2);
        $('.nav').animate({scrollLeft:left},300);
    })
    
    期待更好的方式。
    

    balas
    0
  • Batalbalas