jQuery全ページに共通のグローバルナビゲーションがある場合、私はphpのincludeを利用して、navi.txtとか作ってそれを全ページに使いまわすということを結構やります。非常に便利というか、修正がある場合でも1つのファイルを修正するだけで済むという手間要らずな感じが大好きなのですが、カテゴリごとにメニューの画像を切り替えるのが面倒くさいんですよね。「about」のカテゴリーのページを開いた場合はグローバルメニューの「about」の画像のみがonになるとか。それをjqueryを使って何とかならないかなと思ってやってみました。HTMLがこんな感じだったとします。メニューの画像はそれぞれ_off.gifと_on.gifの2つを用意。</ul></div>そして、javascriptの方が、こんな感じ。location.pathnameで、現在開いているページのパスをpathという変数に代入します。このとき取得できるパスは、ルート以下の部分となります。https://2inc.org/about/index.htmlなら、/about/index.htmlという感じ。path.match(検索文字列)でpathの中に検索文字列が含まれるか調べます。含まれていたらtrueを返すので、これをif文の条件としてそれぞれ分岐させます。あとは、<li>のclassを目印として_off.gifの削除、そして_on.gifの挿入を行うという流れです。このスクリプトだとメニュー項目が増えるたびにごちゃごちゃ書き加えないといけないので、手間です。オブジェクト化して引数渡すだけでチャチャッとできるようにすると使い勝手も良くなるんですが。残念なことに私にはそこまでjavascriptの知識がありません...。プラグインデベロッパー。多数のプロダクトをオープンソースで開発・公開しています。開発・販売しています。PMあー!配列を使ってループですね。基本的なアルゴリズムを忘れてました。プログラムは苦手です...。これならだいぶ更新時の手間も省けますね。PM何度もすみません。コピペミスではなく、どうも「」がサニタイズされたみたいです。全角文字で書き直します......。PM行頭のタブ文字が消えてしましましたね......。適当に空白を補って考えてください。PMこんにちは、以前通りすがりでjQueryの記事にコメントしたものです。↓のようなのでどうでしょうか。カテゴリ名をちょちょっと追加するだけでいいようになってます。切り替えることにしました。コメントを残すコメントをキャンセルこの投稿へのトラックバックトラックバックはありません。プラグインデベロッパー。多数のプロダクトをオープンソースで開発・公開しています。開発・販売しています。