zoukankan      html  css  js  c++  java
  • jQuery实现导航条楼层跳转功能

    nav导航的html结构

            <!-- 导航 -->
            <!-- .part -->
         在需要跳转的楼层上添加part类名就行了
            <div class="line"></div>
            <div class="nav">
                <div class="swiper-container">
                    <div class="swiper-wrapper wrapper">
                        <div class="swiper-slide list on">领券下单</div>
                        <div class="swiper-slide list">抽奖赢礼</div>
                        <div class="swiper-slide list">精选囤货</div>
                        <div class="swiper-slide list">半价专区</div>
                        <div class="swiper-slide list">爆款推荐</div>
                        <div class="swiper-slide list">大牌推荐</div>
                        <div class="swiper-slide list">更多福利</div>
                        <div class="swiper-slide list" id="last">特惠专区</div>
                    </div>
    
                    <div class="swiper-pagination"></div>
                    <div class="direction"></div>
                    <div class="direction direction-prev"></div>
                    <div class="direction direction-next"></div>
                </div>
            </div>

    nav导航的css样式

    /*导航 start*/
    .line {
      background-color: #fff;
    }
    .line.move {
      height: 0.8rem;
    }
    .nav {
      margin: 0 auto;
      height: 0.8rem;
      width: 100%;
      line-height: 0.8rem;
      text-align: center;
      background-color: #ffffff;
      z-index: 999;
      position: relative;
      color: #3c0486;
      font-size: 0.28rem;
      max-width: 7.5rem;
    }
    .nav.move {
      position: fixed;
      top: 0;
    }
    .nav.box {
      height: 3rem;
      border-top: 0.03rem solid #8fc1e8;
      width: 0.5rem;
    }
    .nav .swiper-container {
      height: 0.8rem;
    }
    .nav .swiper-slide {
      text-align: center;
      width: auto;
      color: #666666;
      white-space: nowrap;
      padding: 0 0.3rem;
    }
    .nav .swiper-slide.on {
      color: #fe8716;
    }
    /*导航 end*/

    引入的JS代码

    var navSwiper = new Swiper('.nav .swiper-container', {
        slidesPerView: 'auto',
        paginationClickable: true,
        pagination : '.nav .swiper-pagination',
        paginationHide :false,
        nextButton:'.nav .direction-next',
        prevButton:'.nav .direction-prev'
    });
    
    // 双旦狂欢
    // var bashSwiper = new Swiper('.bash-list .swiper-container', {
    //     slidesPerView: 'auto',//一行显示3个
    //     slidesPerColumn: 3,//显示2行
    //     spaceBetween :5,
    // });
    window.onload = function(){
        setTimeout(function() {
            loading();
        }, 600);
    }
    
    function loading(){
        var nowCur = $('.nav .swiper-wrapper div.on').index();
        // console.log(nowCur);
        if (nowCur>3) {
            $('.swiper-pagination .swiper-pagination-bullet').eq(nowCur-1).click();
        }
    }
    
    
    $(window).on( 'scroll' , function(){
        var nowTop = $(window).scrollTop();
        var a = 0;
        $('.part').each(function(){
            var nowIndex = $('.part').index(this);
            var boxTop = $(this).offset().top;
            if( boxTop <= nowTop + $('.nav').height()+10 ){
                a = nowIndex;
            }
        })
        var woca = $('.nav .swiper-wrapper div.on').index();
        
        $('.swiper-pagination span').eq(a).click();
        $('.nav .swiper-wrapper div').removeClass('on').eq(a).addClass('on');
    
        // 瀵艰埅楂樺害
        var lineTop = $('.line').offset().top;
        if( nowTop >= lineTop ){
            $('.nav,.line').addClass('move');
        } else {
            $('.nav,.line').removeClass('move');
        }
    })
    $('.direction').bind('click',function(){
        if( $(this).hasClass('swiper-button-disabled') && $(this).hasClass('direction-next') ){
            // $('.direction-prev').fadeIn(600);
            // $('.direction-next').fadeOut(600);
        } else if ( $(this).hasClass('swiper-button-disabled') && $(this).hasClass('direction-prev')  ) {
            // $('.direction-next').fadeIn(600);
            // $('.direction-prev').fadeOut(600);
        }
    })
    $('.nav .swiper-slide').click(function(){
        var nowIndex = $(this).index();
        $('body,html').animate({'scrollTop':$('.part').eq(nowIndex).offset().top - $('.nav').height() })
    })

    实现的效果:

  • 相关阅读:
    01、启动优先和安全设置
    5、bam格式转为bigwig格式
    1、蛋白质二级结构预测方法
    12、IGV-Integrative Genomics Viewer
    docker-compose 工具安装
    docker-compose.yml 语法说明
    docker 镜像和容器的批量清理
    rancher 笔记 之 rancher应用中心
    golang 学习笔记
    docker registry 搭建
  • 原文地址:https://www.cnblogs.com/sauronblog/p/12036634.html
Copyright © 2011-2022 走看看