ホームページ >ウェブフロントエンド >jsチュートリアル >jquery はタブ スクロール ナビゲーションの切り替え特殊効果を書き込みます_jquery
この記事の例は、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>
以上がこの記事の全内容です。皆様の学習のお役に立てれば幸いです。