2016-03-25 11 views
0

私がしようとしているのは、自分のウェブサイトに10の記事を表示させ、次に「次のページ」をロードするかどうかをユーザに尋ねることです。私はこの "次のページ"ボタンをクリックすると、ユーザーがクリックしたときにコンテンツを読み込みます。jQueryを使用してDivを無効にするにはどうすればよいですか?

私がdivをちょうど完全にロードしないようにしたい理由は、ウェブサイトの速度のためです。もし私のウェブサイトが100ポストと言うとヒットしたら、単純な.hide();の機能を使っても、ウェブサイトはまだウェブサイトが隠している90の記事を読み込もうとするだろう。

はい、私はページのパフォーマンスが心配している場合、私は10ページになるたびに新しいページを作ることができますが、それは時間がかかり、混乱する可能性が高いようです順序どおりに作業するか何かが間違っているでしょう。

+1

私はこれに関する専門家ではありませんが、これらの投稿をどこから引っ張っているかに応じて、一度にx個の投稿を取り込むことができるAPIを持っている必要があります。より多くの投稿を読み込みます。私はAJAXがこの種のものにも良いと聞きますが、私はそれに多くの経験がありませんが、もしあなたがグーグルAJAXをロードすれば、あなたは正しい方向に向けるかもしれないいくつかの結果を得るでしょう –

答えて

2

できません。それがHTMLドキュメントにあれば、それはブラウザに送られます。その時点でロードを停止するのは遅すぎるでしょう。

divコンテンツを読み込まないようにする唯一の方法は、最初にドキュメントにdivを入れないで、サーバーからさらにデータを取得することです(これは通常、次のページへのリンクで行います)。 JavaScriptではAjaxを使用して余分なデータをロードするように徐々に強化しています)。

1

あなたが必要とするのは、次の10個の投稿を取得するXHRまたはAjaxのリクエストです。非表示にしてもブラウザーを隠していても、コンテンツをダウンロードする必要がありました。

まず、いくつかのポストを表示してから、必要に応じてXHR/Ajaxを使用してより多くを読み込んでください。

jQueryは、簡単な.ajax関数を提供し、必要に応じてデータを取得するのに役立ちます。

0

AJAXが最適です。

ニーズのためには、この2つの方法で行うことができます:

  1. は、すぐにユーザーがボタンをクリックするとAJAX負荷より多くの記事を作成します。

  2. ページがロードされると(JQ準備機能)、AJAX呼び出しを起動して10個のポストを取得し、DOM隠しエレメントに印刷するか、後で使用するために変数に保存します。あなたはポストを正常にリカバリした後(AJAX .success())、AJAX関数をもう一度呼び出すことができ、それを再度実行して、キャッシュ内の... 100個のポストを変数に書き込むか、DOM要素に出力します。あなたはajax callにユーザーがボタンをクリックし、あなたがロードされませんページを作成したい場合はjqueryの

    $(".container").append($("div")); 
    

    を使用して、ページ上の最後のdivに結果を追加するたびに行うことができます

0

一度にすべてのコンテンツとユーザーがボタンをクリックしていない、あなたはlazyloadingを使用することができます。

画像の読み込み用に開発されましたが、divの読み込みにも使用できます。 Layz Loading for Div

これは、ユーザーがスクロールして別のページに移動して戻った場合でも、表示されるページの一部のみを読み込みます。意味は、もし彼らが一番下にいれば、上にスクロールすると、上のdivをリロードします。

関連する問題