0

ここに問題があります。私のインデックス ページには、Home/Contact/About/Faq と #content div の 4 つのタブ メニューがあります。各タブをクリックすると、結果が #content div に表示されます。

ホーム ボタンのコンテンツは既にインデックス ページに書き込まれていますが、他のすべてのタブは外部ページです。次のスクリプトは、外部ページのみを完全に呼び出すことができます。

コード: http://jsfiddle.net/gf5US/

ご覧のとおり、初回ロードで「ホームタブの内容」が表示され、FAQをクリックするとfaq.phpがロードされるのですが、ホームに戻れません。これを修正して、同じインデックス ページ内で外部ページとローカル div の表示を組み合わせることができるようにするにはどうすればよいですか? (1 つの提案は、ホームを外部ページにすることですが、それは私が望んでいることではありません)

4

1 に答える 1

0

私の意見では、これを行うには 2 つの方法しかありません。1 つのコンテンツ#contentが他のタブのコンテンツに置き換えられ、ホームページのコンテンツを取得する必要があるためです。これで、Ajax または通常の GET リクエストを介して取得することができます。

1 つは、[ホーム] タブのコンテンツを Ajax を介してインデックス ページにロードすることです (ドキュメント準備完了イベント ハンドラーで jQuery の load メソッドを使用してロードすることにより)。その場合、現在のスクリプトはそのまま機能します。しかし、なぜあなたがこれを望まないのかわかりません。

もう 1 つの方法は、ユーザーが [ホーム] タブをクリックしたときに完全なインデックス ページを読み込むことです。このスクリプトの場合は

$(function() {
$('#nav a').click(function() {
    var page = $(this).attr('href');
    var id = $(this).attr('id');
    if (id == 'home') {
        window.location.href = "index.php";
    } else {
        $('#content').load(page + '.php');
    }
    return false;
    });
});
于 2012-09-22T07:06:50.050 に答える