サイトの現在のナビゲーションアイコンを強調表示する方法を見つけようとしています。ブログセクションを除いて、他のすべてのナビゲーションリンクは同じページの異なるセクションに移動するため、より複雑になっています。ユーザーが私のブログセクションにいない限り、すべてのインスタンスでホームアイコンを強調表示したいと思います。CSSを使用してアイコンの不透明度を0.5に設定し、アイコンを強調表示するためにJQueryを使用してクラスを追加し、不透明度を1に変更しました。ほぼそこにいますが、ユーザーがブログセクションに移動してからホームに戻るとセクションでは、アイコンは強調表示されません(ブラウザを更新しない限り)。これが私のJQueryです:
// change opacity of nav icons
$('#nav-home, #nav-port, #nav-exp, #nav-cont, #nav-blog').hover(function(){
$(this).fadeTo(200, 1);
}, function(){
$(this).fadeTo(200, 0.5);
});
// highlight current nav icon
var queryString = location.search.replace('?','').split('=');
$('#nav-blog').bind('load click', function(){
if(queryString[1] == 'blog-home' || queryString[0] == 'article')
$(this).addClass('nav-current');
});
$('#nav-home, #nav-port, #nav-exp, #nav-cont').bind('load click', function(){
if(queryString[1] == 'home' || !queryString[1])
$('#nav-home').addClass('nav-current');
});
ありがとうございました!
編集:ごめんなさい!これが私のサイトですhttp://www.jonhudsonweb.com
編集:それを理解しました!! しかし、私は十分ではないので、私はまだ私の質問に答えることを許可されていません:(
これが私の解決策です:
// highlight current nav icon
var queryString = location.search.replace('?','').split('=');
$(window).bind('load unload', function(){
if(queryString[1] == 'blog-home' || queryString[0] == 'article')
$('#nav-blog').addClass('nav-current');
});
$(window).bind('load unload', function(){
if(queryString[1] == 'home' || !queryString[1])
$('#nav-home').addClass('nav-current');
});
私にとっては+1!
わーい。