はじめまして。jQuery初心者です。
http://www.aiship.jp/knowhow/archives/28160
上記サイトのタグを拝借し、いい感じのところまでいっております。
ただ、タブをクリックする度に徐々に画面の上部にスクロールしてしまいます。
タブをクリックすればするほど少しずつ上部に移動し、
最終的には一番上に…
何かいい解決方法教えいただけませんでしょうか?<(_ _)>
==================
(追加)
すみません。少し原因が分かってきました。
common.jsファイル
// smooth scroll $(function(){ $('a[href^=#]').not('#header a,.tab li a,').click(function(){ var speed = 500; var href= $(this).attr("href"); var target = $(href == "#" || href == "" ? 'html' : href); var position = target.offset().top - 100; $("html, body").animate({scrollTop:position}, speed, "swing"); return false; }); });
という記載があり、どうやらこれが影響しているようです。
$('a[href^=#]').not('#header a,.tab li a,').click(function(){
を、
$('a[href^=#]').not('#header a,.tab li a,#tabindex li a').click(function(){
と書き換えれば、問題は解決するのですが、
このcommon.jsファイル事態を触ることが禁止されています。
出来れば、test.jsファイル(以下、記載)内で解決したく、
$(function(){ $('#tabcontents div[id != "tab01"]').hide(); $("a").click(function(){ $("#tabcontents div").hide(); $($(this).attr("href")).show(); $(".current").removeClass("current"); $(this).addClass("current"); return false; }); });
上記記載内で解決できませんでしょうか?
htmlも念のため記載しておきます
<section id="tabindex"> <ul> <li><a href="#tab01" class="current">color</a></li> <li><a href="#tab02" class="">size</a></li> <li><a href="#tab03" class="">Material</a></li> <li><a href="#tab04" class="">Country</a></li> <li><a href="#tab05" class="">aa</a></li> </ul> <div id="tabcontents"> <div id="tab01"> <p> <strong>Blue/Red/White</strong></p> <p></p> </div> <div id="tab02"> <p><strong>36・38・40</strong></p> <p></p> </div> <div id="tab03"> <p><strong>cotton 100%</strong></p> <p></p> </div> <div id="tab04"> <p><strong>Japan</strong></p> <p></p> </div> <div id="tab05"> <p><strong>aaa</strong></p> <p></p> </div> </div> </section>
ちなみに、<ul class="tab">としたら、タブのスクロールは解決しましたが、
タブ下の表示部分が崩れました( ノД`)シクシク…
================追加=======
a要素でクリックせずに~を試しました
解決できましたー(^^)/
$(function(){ $('#tabcontents div[id != "tab01"]').hide(); $( 'span[data-href]' ).on( 'click', function() { $("#tabcontents div").hide(); $( $( this ).data( 'href') ).show(); $(".current").removeClass("current"); $(this).addClass("current"); return false; }); });
<section id="tabindex"> <ul> <li><span data-href="#tab01" class="current">color</span></li> <li><span data-href="#tab02" class="">size</span></li> <li><span data-href="#tab03" class="">Material</span></li> <li><span data-href="#tab04" class="">Country</span></li> <li><span data-href="#tab05" class="">aa</span></li> </ul> <div id="tabcontents"> <div id="tab01"> <p> <strong>Blue/Red/White</strong></p> <p></p> </div> <div id="tab02"> <p><strong>36・38・40</strong></p> <p></p> </div> <div id="tab03"> <p><strong>cotton 100%</strong></p> <p></p> </div> <div id="tab04"> <p><strong>Japan</strong></p> <p></p> </div> <div id="tab05"> <p><strong>aaa</strong></p> <p></p> </div> </div> </section>
回答2件
あなたの回答
tips
プレビュー