ホームページ >ウェブフロントエンド >jsチュートリアル >jquery はタブ スクロール ナビゲーションの切り替え特殊効果を書き込みます_jquery

jquery はタブ スクロール ナビゲーションの切り替え特殊効果を書き込みます_jquery

WBOY
WBOYオリジナル
2016-05-16 15:06:182217ブラウズ

この記事の例は、jquery で書かれたタブ切り替え効果を参考のために共有するものです。具体的な内容は次のとおりです。

効果の説明: タブ ナビゲーションをクリックすると、ページが下の対応するセクションにスライドします。また、マウスでページを下にスクロールすると、上のタブが現在の位置のセクションに自動的に切り替わることもできます。

コードの説明: js で 2 つのアクションを個別に記述します。1 つはタブをクリックして対応するセクションの位置まで下にスライドすることで、もう 1 つは現在のページのスクロールの高さを決定し、タブを切り替えることです。マウスは下にスクロールします。
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 までご連絡ください。