0

これは本当に簡単なことだと思っていましたが、明らかに数日間の試行で成功しなかったので、人々に助けを求める必要がありました。

正しい私は基本的に、ファウンデーション4フレームワークに関する多くのガイダンスなしでphpテンプレートを作成し、レスポンシブフレームワークです。現在、このフレームワークはかなり基本的なものであるため、ページ遷移を追加するには、jquery を使用して、別のページから「コンテンツ」を取得し、テンプレート ページ index.html に表示するための ajax 呼び出しであると思われることを行う必要がありました。

私は現在以下を使用しています

 <script>
 $(document).ready(function() {
 $('nav.top-bar > section.top-bar-section > ul.right > li > a').click(function()    {

    var toLoad = $(this).attr('href')+' #content';
        $('#content').hide(1000,loadContent);
        $('#load').remove();
        $('#main_wrapper').append('<span id="load">LOADING...</span>');
        $('#load').fadeIn('fast');
                window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-0);
        function loadContent() {
        $('#content').load(toLoad,showNewContent);
        }
        function showNewContent() {
        $('#content').show(1000,hideLoader);
        }
        function hideLoader() {
        $('#load').fadeOut('fast');

        }
return false;

        }); 
  });
  </script>

今、ajaxとjqueryの使用に切り替える前に、メニューの「アクティブ」クラスとページ名を、最初の行に$ page = ''としてリストされ、次にページ名としてリストされた各ページに設定された単純な変数で操作していました

新しいページのコンテンツにこの変数を含めても、コンテンツを ajax でロードするようになったので、メニュー タイトルでも更新されません。

申し訳ありませんが、このフォーラムのことは初めてで、正しく書いていません

事前に助けてくれてありがとう:)私は学習者としてコードをコピーして貼り付けるよりも、私が何をする必要があるか、そしてそれをどのように行うかを誰かに説明してもらいたい:)

4

3 に答える 3

0

おそらく、ページをロードし、その結果を jQuery で解析して、新しいページのタグを取得し<title>、要求元のページのタグを設定する必要があります<title>

私が尋ねる唯一のことは、なぜあなたはこれをしているのですか? 従来の伝播ナビゲーションではなく、Web サイトで AJAX ページ ナビゲーションが必要ですか?

于 2013-06-22T21:21:02.050 に答える
0

非常に混乱しているため、質問の一部しかお答えできません。

まず、URL が変更される理由は次のとおりです。

window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-0);

その行でそれを変更しています。ただし、この行には興味深いちょっとした癖があります。

attr('href').length-0

最後に。なぜ -0 なのですか?それは違いはありません。私はそれを片付けます。

それ以外では、私はあなたが求めていることと非常に混乱しているので、言い直してみましょう。何が欠けているのか教えてください.

ユーザーにナビゲーション リンクをクリックさせ、そのリンクのコンテンツを jQuery を使用した AJAX 呼び出しで読み込み、ページのコンテンツを新しく読み込まれたページに置き換えたいと考えていますか?

「メインページのすぐ上に変数 $page = 次にページ名があります」と言うとき、「メインページ」とはどういう意味ですか? HTMLのテキスト行ということですか?ここに含めていないスクリプトの一部ですか? PHP コードの一部ですか?

そして、「上記のコンテンツに合わせて変化するdivにタグを含めてみました」と言いますが、「タグ」とは何ですか?

これを 4、5 回読んでも、あなたが何をしようとしているのかについての上記の理解はほとんどわかりませんでした。

質問を大幅に編集してください。理解するのは非常に困難です。

最後に、ユーザーがリンクをクリックしてコンテンツをロードするブラウザの機能を置き換えようとしているのはなぜですか? そのためのブラウザです。また、ブラウザーには通常 (または何らかの形で) URL バーに読み込みインジケーターがあり、コンテンツがまだ読み込まれていることをユーザーに知らせます。

于 2013-06-22T21:27:57.250 に答える
0
function loadContent() {
    $('#content').load(toLoad,showNewContent);
}

最初に、load メソッドの jQuery ドキュメントを見てください: http://api.jquery.com/load/

あなたの問題は、3 つの引数が必要であり、2 つを渡していることです。複数の引数がリストされていて、それらの一部のみを渡したい場合でも、「スキップ」したい引数には null 値を指定する必要があります。呼び出しを次のように変更してみてください。

function loadContent() {
    $('#content').load(toLoad, null, showNewContent);
}

「null」を渡していることに気付くでしょう。それが機能しない場合は、次のように空の文字列を渡します。

function loadContent() {
    $('#content').load(toLoad, "", showNewContent);
}

2 番目の引数は、リクエストで渡されるデータです。コールバックとしてリストするのは 3 番目の引数です。私が知る限り、これは間違いを犯している場所です。

于 2013-06-23T02:10:51.750 に答える