0

開発しようとしているサイトの概念を理解するのに苦労しています (私は比較的 PHP に慣れていないので、しばらく時間がかかります)。

基本的に、リンクをクリックしたときにライトボックスに出力したいPHP変数内にいくつかのhtmlコンテンツがあります。

現在、これは次のように機能します-

echo '<a class="fancybox" id="inline" href="#data' . $limit . '">Read more</a>' ;  

echo '<div style="display:none"><div id="data' . $limit . '"><h2 class="innertitle">' . $item['linktitle'] . '</h2>' . $item['descriptionfull'] . '</div></div>';

ここで何が起こっているかというと、変数がページの div にロードされ、エンド ユーザーには表示されません。リンクをクリックすると、Fancybox を使用してこのデータがライトボックスにロードされます。これはうまく機能しますが、サイト上の記事 (およびその説明の HTML) の数が増えると、ページ自体が非常に大きくなり、読み込みに時間がかかります。

したがって、可能であれば達成したいのは、サイト上の別のphpファイルを指す「続きを読む」リンクを取得し、ロードすると動的にphp変数を取り込むことです。これにより、descriptionfull 変数がメイン ページにロードされるのを防ぐことができるため、関連する readmore リンクがクリックされたときにのみロードする必要があります。

これは可能ですか?乾杯。

4

4 に答える 4

4

ファンシーボックスを使用しているため、すでにjQueryを使用しているため、 jQuery ajaxを使用して目的を達成できます。

このjQuery Ajax POSTを参照してください。

于 2013-09-10T16:26:51.187 に答える
0

達成したいこと (ページ全体をリロードせずにページの一部を動的にロードすること) は確かに可能です。

これが AJAX と呼ばれるものです。

これについては、php / javascript で既に行ったことよりもおそらく複雑なので、少し読んでおく必要があります。

jqueryを試してみることをお勧めします。

今のところ複雑すぎると思う場合、唯一の解決策はリンクをクリックしたときにページ全体をリロードすることです。そうすれば、$_POST データを使用して、以前と同じようにページを再構築できます。ただし、これはユーザーにとってシームレスではありません。

于 2013-09-10T16:27:00.383 に答える
0

jquery の ajax メソッドは、必要に応じてすべてを処理できる優れた強力なメソッドです。

jquery には、要件に応じて AJAX 呼び出しを実行するために使用できるさまざまなメソッドがありますが、これらはすべて jquery の ajax メソッドの同義語です。

これらすべてにajaxメソッドを使用したい場合は、要件に応じてさまざまな引数を渡す必要があります

 $.ajax({
    'url':you url,
    'type':request type,
    'data':your data,
    'success':success handler function,
    'error':error handler function,
    /*and many more*/
    )}

Ajax は、XMLHttpRequest (xhr) または jquery を使用して実装できる非同期通信メカニズムです。

于 2013-09-10T16:35:12.350 に答える