0

まず、私は JS や PHP に精通していません。通常、既存のスクリプトを変更してやりたいことを実行できますが、最初から何かを作成することはできません。この例で言及している URL はすべて作り話です。

それを念頭に置いて、CSS、PHP、および JS をすべて実際に変更したテンプレートを使用してページを設計しています。各ページには、include ステートメントで呼び出されるヘッダー、ナビゲーション バー、およびフッターがあります。私はその部分を理解しています。ただし、ページの 1つで、別のナビゲーション バーを使用したいのですが、変更されません。

私が気づいたこと: JS は、クリックされた URL をhttp://www.example.com/test.phpからhttp://www.example.com/#test.phpに変更しているようです。

その目的は何でしょうか?また...新しいナビゲーションバーが必要なページのURLのハッシュタグを手動で取り出すと、新しいナビゲーションバーが表示されます! ただし、ページを切り替えると、URL の末尾が ...test.php#newpage.php のようになります。

したがって、ハッシュタグをURLに入れないようにこれを変更する方法を理解する必要があります(ただし、やむを得ない理由がある場合は、もちろんそのままにすることができます)、またはその1つのページに別のナビゲーションを表示する方法を見つける必要があります-バー。代替ナビゲーション バーは目次であるため、HTML にはユーザーをページの特定の部分に誘導するためのハッシュタグが含まれています。また???ガッ!

どんな助けでも大歓迎です。

わかりました、これが JavaScript の一部です... URL で # を参照しているように見える唯一のセクションです。

    var $fadeWrapper = $("#fade-wrapper"),
    $allNav = $("#main-nav a"),
    $allListItems = $("#main-nav li"),
    url = '',
    liClass = '',
    hash = window.location.hash,
    $ajaxLoader = $("#ajax-loader");

$("body").attr("id", "");    

if (hash) {
    hash = hash.substring(1);
    liClass = hash.substring(0,hash.length-4);
    url = hash + " #inside-content";
    $fadeWrapper.load(url);
    $("." + liClass).addClass("active");
} else {
    $("#main-nav li:first").addClass("active");
}

*更新: JavaScript を完全に削除することにしました。読んでみると、CSS が navbar の項目の 1 つを強調表示するために、スクリプトがどのページがアクティブであるかを知ることができるように、ハッシュタグがそこにあるという結論に達しました。また、ページを移動するときに表示されるアニメーション gif にも関係があります。これらのアイテムのどちらも、このことを理解しようとして髪をもっと引っ張るほど重要ではありません:D しかし、あなたの提案に感謝します! *

4

1 に答える 1

0

クリックしているリンクの href 値が # であるため、ハッシュ タグが追加される可能性が最も高くなります。

新しいヘッダー ファイルを作成し (そこに navbar コードがある場合)、そのヘッダー ファイルで必要な方法で navbar を変更し、現在のヘッダーの代わりに新しいファイルを別の必要なページに含めることはできませんか?ナビバー?

于 2012-12-04T22:13:46.863 に答える