• ベストアンサー

CSSナビゲーションで表示ページをハイライトさせるのをSSIを使ってする

以前から質問させていただいているのですが、よくわからないので ここでまとめて質問させていただきます。 質問の方法が悪かったせいもあり、マルチポストに近くなってしまうのですが、ご容赦下さい。 以前の質問↓ http://okwave.jp/qa4624047.html CSSのナビゲーションバーで現在の表示ページをハイライトしたいと思います。できるか否かわからないのですが、できないのであれば どのように通常はしているのかを教えてください。 ただ、ssiで全ページ共通のナビゲーションバーを使用していますのでカテゴリごとにナビゲーションメニューをつくらないといけないのか また、カテゴリーを判別して(ディレクトリで)ハイライトしてくれるajaxのようなものがあるのか。 よくわからないのです・・・ http://www.n-di.co.jp/service/analytics.html ここのナビゲーションのようなものがつくりたいです。 わからないことばっかりで申し訳ないのですが お力を貸していただけるとありがたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • rukuku
  • ベストアンサー率42% (401/933)
回答No.3

>topで呼び出すというのは、どこで呼び出せばよいのでしょうか? >topと指定のあるリンクをクリックした時の状態のことでしょうか? 以下の記述をHTML(拡張子は.phpにします)の中に書き込んでおけば、ページが読み込まれたときに自動的に読み込まれます。 <?PHP $navi = top; include("navi.php") ?> 呼び出しを行っているのは「include("navi.php")」の部分です。 その前の行の「$navi = top」で、ハイライト位置を指定しています。 リンクのページでは、 <?PHP $navi = link; include("navi.php") ?> とします。(2行目ので"link"としています) こうすると、「include("navi.php")」の結果は $navi = top のときは <SPAN class="NaviC just"><A href="./">トップ</A></SPAN> <SPAN class="Navi just"><A href="link.php">リンク</A></SPAN> になり、 $navi = link のときは <SPAN class="Navi just"><A href="./">トップ</A></SPAN> <SPAN class="NaviC just"><A href="link.php">リンク</A> になります。 Navi と NaviC の位置を見てください。 以下同じように、ページごとに「$navi = ○○」の値を変えます。 例えばinfomation.phpを追加するには、 infomation.phpは <?PHP $navi = info; include("navi.php") ?> としておいて、 navi.phpに、 if($navi=="info"){print"<SPAN class=\"NaviC just\">";}else{print"<SPAN class=\"Navi just\">";} print"<A href=\"infomation.php\">お知らせ</A></SPAN>"; を追加します。 こうすると、infomatin.phpが開かれたときは、「お知らせ」がハイライトされます。

ritzkun
質問者

補足

なるほど! なんとなくですが、わかりました! 丁寧なご説明、ありがとうございました。 一度、挑戦してみます!!

その他の回答 (2)

  • rukuku
  • ベストアンサー率42% (401/933)
回答No.2

はじめまして >CSSのナビゲーションバーで現在の表示ページをハイライトしたいと思います。 >ただ、ssiで全ページ共通のナビゲーションバーを使用していますので SSIは使ったことがないので分かりませんが、PHPを使って同じようなことをやったことがあります。 同じ考え方でできればいいのですが。 PHPの場合には、外部のPHPを自分のPHPの中に呼び出すことができます。 このときに変数を送ることもできます。 具体的には、メインの文書から$naviの値を指定して、navi.phpを呼び出します。 <?PHP $navi = top; include("navi.php") ?> navi.phpの方で if($navi=="top"){print"<SPAN class=\"NaviC just\">";}else{print"<SPAN class=\"Navi just\">";} print"<A href=\"./\">トップ</A></SPAN>"; if($navi=="link"){print"<SPAN class=\"NaviC just\">";}else{print"<SPAN class=\"Navi just\">";} print"<A href=\"link.php\">リンク</A></SPAN>"; としておけば、 $navi = top;で呼び出されたときには、「トップ」がハイライトされ、 $navi = link;で呼び出されたときには、「リンク」がハイライトされます。 …Navi と NaviCの書式は、HTMLと同様CSSで指定しておきます。

ritzkun
質問者

補足

phpは知識がありませんのでよくわからないのですが、 topで呼び出すというのは、どこで呼び出せばよいのでしょうか? topと指定のあるリンクをクリックした時の状態のことでしょうか? phpの方がかんたんにできそうであれば、挑戦してみたいと思います。

  • warez
  • ベストアンサー率57% (29/50)
回答No.1

ちょっといじる必要はありそうですが。 http://semooh.jp/jquery/ref/cont/hilite_current_page/

ritzkun
質問者

お礼

なるほど!これならできそうですね☆ 一度挑戦してみます! ありがとうございました!

関連するQ&A