|
||||||||||
| 1 2 3 次のページ | ||||||||||
| データの読み込み | ||||||||||
|
前回でスクロールするテーブルができあがったので、実際のデータを入れて動かしてみましょう。まずは、JPSpanサーバを設定し、先ほど作成したnail_remoteクラスを出力します。このサーバは、登録する前にオブジェクトを作成する以外は、先ほどのものと同じです。 |
||||||||||
$remote = new nail_remote();
|
||||||||||
|
HTMLページでは、先ほどの内容も含まれています。ページのヘッダーでは、スクロールバーのウィジェット用クラスと、JPSpanが生成するクライアントをインクルードしています。次に、サーバと接続するための、getDataSync(start,rows)とgetNumRowsSync()の2個の関数を設定しています。 これらの名前から推測できる通り、今回は同期的にJavaScriptを呼び出しています。これによって、コールバック関数が不要なので、関数の内容がシンプルになり、次のデータを得るまでスクロールをする必要がないことが利点となります。 リモートのデータ関数は以下のようになります。 |
||||||||||
var remote = new nail_remote();
|
||||||||||
|
ページにHTMLが追加された後は、getDataSync関数を呼び出し、テーブルを構築しています。実際には、この部分はHTMLページを生成するPHPコードで行い、余分なAJAXの呼び出しは省略します。しかし、今回は複雑にするようなことをできるだけ排除します。テーブルとスクロールバーの設定も、イベント関係の関数の前に、同じように行います。 異なるのは、getNumRowsSync()関数を使って、テーブルの最大行を取得していることです。onScrollDown()関数は、テーブルのデータ(tableData)に必要な行がセットされていない場合は、getDataSync()関数を呼び出します。 |
||||||||||
if (!tableData[index])
|
||||||||||
|
onScrollUp()関数も同じ処理になります。これらの関数を使うと、毎回5行ずつ取ってくるため、取得に時間がかかることがあります。読み込み中のアイコンを表示したり、データを事前に読み込むことで、解決できます。 |
||||||||||
|
1 2 3 次のページ |
||||||||||
書籍紹介PHPプログラマーズマガジン PHPプログラマーズマガジンは、PDF形式で読者の方にお届けするPHP言語(PHP:Hypertext Processor)専門誌です。 カナダMTA出版のphp|architect誌を日本語に翻訳し、独自の記事を加えて月刊でお届けしています。 発行:アシアル株式会社 価格:1,029円 |
||||||||||
|
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||


