1

phpinclude関数を使用してヘッダーとナビゲーションをWebページに添付しました。ナビゲーションには、ユーザーが現在表示しているページを示す「アクティブ」クラスがあります。

次のコードを使用して、通常のリストアイテムでこれを実現しました。

<li <?php if (strpos($_SERVER['PHP_SELF'], 'index.php')) echo 'class="active"'; ?>><a href="index.php">Home</a></li>

しかし、ドロップダウンリストアイテム内のページでこれを実現する方法がわかりません。

<li class="dropdown">
    <a class="dropdown-toggle" data-toggle="dropdown" href="services.php">Services<b class="caret"></b></a>
        <ul class="dropdown-menu">
            <li><a href="services.php">Services</a></li>
            <li><a href="web-development.php">Web Development</a></li>
            <li><a href="graphic-design.php">Graphic Design</a></li>
        </ul>
</li>

私が達成しようとしている結果は、ユーザーが「サービス」、「Web開発」、または「グラフィックデザイン」ページを表示しているときに、メインの「サービス」リスト項目にclass="active"が含まれることです。

4

1 に答える 1

0

これは、クライアント側のjavascriptを使用して実現できます。

使いやすいのでjQueryの使用をお勧めします。それをあなたのhtmlに含めるだけです:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

そして、addClass()関数を使用します。次に例を示します。

<script>
$(function() {
  var url = window.location.href;
  if(url.indexOf("services.php") > -1)
    $('.dropdown-menu [href*=services.php]').addClass('active');
  //repeat the if statement for each case...
});
</script>
于 2013-03-24T09:11:24.717 に答える