>웹 프론트엔드 >JS 튜토리얼 >탭 스크롤 탐색 전환 구현(코드 포함)

탭 스크롤 탐색 전환 구현(코드 포함)

php中世界最好的语言
php中世界最好的语言원래의
2018-04-26 09:44:194856검색

이번에는 탭 스크롤 탐색 전환 구현(코드 포함)을 가져왔습니다. 탭 스크롤 탐색 전환 구현 시 주의 사항은 무엇입니까?

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

코드 설명: 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;
        }
      }
      $(&#39;.switch-tab>li:eq('+s+')').addClass('active').siblings().removeClass('active');
    }
  });
});

html:

<p 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>
</p>
<p class="tab-content">
  <p class="tab-panel" id="cpxq">
    1111
  </p>
  <p class="tab-panel" id="cpxq">
    222
  </p>
  <p class="tab-panel" id="cpxq">
    333
  </p>
  <p class="tab-panel" id="cpxq">
    444
  </p>
</p>

이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 자료:

jQuery는 탭 옵션 전환의 가장 간단한 구현입니다

jQuery+CSS 탭 열 전환 구현(코드 포함)

jQuery+Ajax 테이블 데이터 제목 정렬 구현

위 내용은 탭 스크롤 탐색 전환 구현(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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