0

ページにナビゲーション バーがあり、最後にクリックしたリンクである場合は別のスタイルにしたいリンクが含まれています。CSS を次のように設定しました。

#nav li a.active {
  background-color: #F2F2F2;
  color: #000000;
  font-weight: bold;
}

レイアウト ファイルに次のような jQuery スクリプトがあります。

$('#nav li a').click(function() {
  $('#nav li a.active').removeClass('active');
  $(this).addClass('active');
});

リンクをクリックするたびに、目的の効果が得られますが、それは次のページが読み込まれるまでです。次のページが読み込まれると、クリックしたリンクに .active css クラスがありません。このクラスを異なるページ間で保持するにはどうすればよいですか?

4

1 に答える 1

1

値を保持するには、javascriptCookieを使用できます

ここからプラグインをダウンロードして含めますhttps://github.com/carhartl/jquery-cookie

このJSを追加します

document.ready(function(){

if($.cookie( "prev") != '')
{
$('#'+ $.cookie( "prev")).addClass('active');
}

$('#nav li a').click(function() {
  $('#nav li a.active').removeClass('active');
  $(this).addClass('active');
$.cookie( "prev", $(this).attr('id') );
});

});
于 2012-07-20T11:20:20.680 に答える