1

上部のナビゲーションが同じページ内のアンカーにスムーズなスクロール効果でリンクする 1 ページ スタイルのページがあります。

問題は、同じナビゲーション スニペットが他の内部ページで使用されていることです。

現在のページが概要資料でない場合、概要資料に移動する条件を作成するにはどうすればよいですか。

これは私がこれまでに持っているものです。おそらくコードを読むと、私が達成したいことを理解しやすくなります。

<ul id="main_menu">
<li><a href="#start">Start</a></li>
<li><a href="#overview">Overview</a></li>
<li><a href="#gift">Make a Gift</a></li>
<li><a href="#activities">Activities</a></li>
<li><a href="#resources">Resources</a></li>
</ul>

これは、sample.com/start である私のホームページで問題なく動作します。

しかし、たとえば sample.com/overview にいる場合、メイン メニュー リンクの [リソース] をクリックすると、sample.com/overview#resources ではなく、sample.com/start#resources に戻る必要があります。

何か案は?

4

2 に答える 2

0

スタート ページではコードをそのまま使用し、他のページstart#resourcesでは のみではなく を URL に挿入します#resources

于 2014-03-24T23:00:04.367 に答える
0
    <li><a href="
                <?php if(!strpos($_SERVER['SCRIPT_NAME'], 'start.php')): ?>
                    start.php
                <?php endif;?>
                #start">Start</a>
    </li>
    <li><a href="
                <?php if(!strpos($_SERVER['SCRIPT_NAME'], 'start.php')): ?>
                    start.php
                <?php endif;?>
                #overview">Overview</a>
    </li>

    <!-- etc.. -->

これは、現在のページが かどうかをチェックしますstart.php。そうであれば、何もしません。そうでない場合は、属性の の前に追加start.phpします。href#anchor

何が起こっているのかを読みやすく理解しやすくするために、このようにインデントしましたが、実際には、href属性内のインデントを削除することをお勧めします%20

関連する質問:

index.php の場合は「this」を表示、そうでない場合は「this」を表示

PHPでHTMLをエコーするにはどうすればよいですか?

また:

http://php.net/manual/en/language.basic-syntax.phpmode.php

于 2016-11-08T12:58:30.677 に答える