わかりました、これは私を夢中にさせています!
「タブのような」サブメニューを使用して、3 つの異なるテーブルを表示しています。このサブメニュー内の各リンクは、現在のコンテンツを隠し、別のコンテンツを表示します。
注:今のところ、作業中のページへの直接リンクを残しておくので、自分で問題を確認してください。
(アンカー)ジャンプを避けるために<a>
、私はすでに試してい<a onclick="return false;">
ます(私が持っている別のサイトではうまくいきます)。私のjQueryコードでは、「e.preventDefault();」も使用しています。これは、ページの先頭へのジャンプを回避するのに役立ちますが、それを使用しても、ページは常にサブリンクの上のページの一部にジャンプします.
このジャンプを避けるために他に何ができるか本当にわかりません。
今のところ、これは私のhtmlの中にあるものです:
<nav id="submenu" class="menu">
<ul>
<li class="current-menu-item"><a onclick="return false;" href="#" rel="statics">Sites Estáticos</a></li>
<li><a onclick="return false;" href="#" rel="dynamics">Sites Dinâmicos</a></li>
<li><a onclick="return false;" href="#" rel="extras">Serviços Extras</a></li>
</ul>
そして、これは私のjQueryです:
function subSections(){
$('nav.menu li a').click(function(e){
e.preventDefault(); //this helps, but don't solve the problem
var active = $(this).parent();
var currSection = $(this).attr('rel');
if(active.hasClass('current-menu-item')!=true){
// Add and remove 'current-menu-item' class
$('nav.menu .current-menu-item').removeClass('current-menu-item');
active.addClass('current-menu-item');
// Hide currentSection and Show the clicked one
$('.showing').fadeOut('slow', function(){
$('#'+currSection).fadeIn('slow').addClass('showing');
}).removeClass('showing');
}
});
}
また、この「表示と非表示」を行うためのより良い方法があるかもしれませんが、これはうまくいくようです。誰かがこの問題に光を当てて助けてくれたら嬉しいです! 前もって感謝します!