>  기사  >  웹 프론트엔드  >  jquery는 특수 효과를 전환하는 탭 스크롤 탐색을 작성합니다_jquery

jquery는 특수 효과를 전환하는 탭 스크롤 탐색을 작성합니다_jquery

WBOY
WBOY원래의
2016-05-16 15:06:182178검색

본 글의 예시는 참고용으로 jquery로 작성한 탭 전환 효과를 공유하기 위한 것입니다

효과 설명: 탭 탐색을 클릭하면 페이지가 아래 해당 섹션으로 슬라이드됩니다. 그리고 마우스로 페이지를 아래로 스크롤하면 위 탭도 자동으로 현재 위치의 섹션으로 전환될 수 있습니다.

코드 설명: js에서는 두 가지 작업을 별도로 작성합니다. 하나는 탭을 클릭하고 해당 섹션 위치로 아래로 슬라이드하는 것이고, 다른 하나는 현재 페이지의 스크롤 높이를 결정하고 탭을 전환하는 것입니다. 마우스가 아래로 스크롤됩니다.
js:

$(document).ready(function(){  
  $('.switch-tab>li').click(function(){
    var s=$('.switch-tab>li').index(this);
    $('body,html').animate({scrollTop:$('.tab-content>.tab-panel:eq('+s+')').offset().top-50},200);
  });

  var DT=$('.switch-tab').offset().top;
  $(window).scroll(function(){
    var wt=$(window).scrollTop(),l=$('.tab-content>.tab-panel'),s=l.length-1;
    if(wt<DT||wt>=l.last().offset().top+l.last().height()+50){
      $('.switch-tab').removeClass('fixed');
      $('.switch-tab>li:first').addClass('active').siblings().removeClass('active');
    }else{
      $('.switch-tab').addClass('fixed');
      for(var i=0;i<s;i++){
        if(wt>=parseInt(l.eq(i).offset().top-50)&&wt<parseInt(l.eq(i+1).offset().top-50)){
          s=i;
          break;
        }
      }
      $('.switch-tab>li:eq('+s+')').addClass('active').siblings().removeClass('active');
    }
  });
});

html:

<div class="switch-nav">
  <ul class="switch-tab">
    <li><a href="javascript:; ">拉托红酒</a></li>
    <li><a href="javascript:; ">法国酒庄风情</a></li>
    <li><a href="javascript:; ">红酒包装</a></li>
    <li><a href="javascript:; ">个性定制</a></li>
  </ul>
</div>

<div class="tab-content">
  <div class="tab-panel" id="cpxq">
    1111
  </div>
  <div class="tab-panel" id="cpxq">
    222
  </div>
  <div class="tab-panel" id="cpxq">
    333
  </div>
  <div class="tab-panel" id="cpxq">
    444
  </div>
</div>

위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.