ナビゲーションバーをまとめようとしています.Javascriptに慣れていないのでPHPを使用しています。現在のページのファイル名を返す関数を作成し、CSSクラスを適切に適用したいと考えています。このPHP関数のJavaScriptに相当する
PHPコード
function setNav($section)
{
$curSection = end(explode('/', $_SERVER['SCRIPT_NAME']));
if ($section == $curSection)
{
echo ' class="active" ';
}
}
そして、私はむしろ、JavaScriptやjQueryのでこれを行うだろうと明白な理由
<a href="abc.def" <?php setNav('index.php'); ?> >Home </a>
を次のように私は、HTMLでそれを初期化するだろうが、私は」機能をまとめるのにいくつかの問題があります。私はいくつかのチュートリアルを見てきましたが、いくつかのことを除いています。
ファイル名の末尾部分をどのようにプルするか。私のような何かやっカップルのアイデアを見てきました:
<script type="text/javascript"> var url = document.location.href; url = url.substring(0, (url.indexOf("#") == -1) ? url.length : url.indexOf("#")); url = url.substring(0, (url.indexOf("?") == -1) ? url.length : url.indexOf("?")); url = url.substring(url.lastIndexOf("/") + 1, url.length); alert(url); </script>
をしかし、私は私がどのようにサブ作品を理解するが、私は彼が例えば第二引数「(URL/wをやっている何見当がつかないまた、問題2に実行します.indexOf( "#")== -1)? url.length:url.indexOf( "#") '私は、google、w3schools、および説明のためのカップルの場所を検索し、substring()の高度な使い方を調べましたが、何も出ませんでした。どんな指導も高く評価されます。
URLがlocalhost/abc_corp /のように見えるので、document.URLを呼び出すと、 "localhost/abc_corp /"が呼び出され、index.phpの部分が除外されます。
何か助けを前もっていただきありがとうございます。
* *実際に、それは明らかではありません。これが静的な機能(ページが要求されたときに属性が設定され、変更されない)であり、既にページでPHPを使用している場合は、PHPのままにしてください。こうすることで、JavaScriptをオフにしているユーザーであっても、すべてのユーザーに機能し、ブラウザ間の互換性については心配する必要はありません(CSS以外)。 –
一般化の言葉をお詫び申し上げます。私は、無負荷のやりとりは、通常、それほどうまくいきません。 – Brodie