Facebookとmyspaceはどちらも、フォトギャラリーで優れた機能を備えています。画像ページに移動すると、ユーザーの画像とユーザーのコメントがページに表示されます。キーボードの左右の矢印キーを押すと、ページに次のページが読み込まれます。キーを押したままにすると、多くのページが高速で移動します。私はこれが主にjavascriptであると知っています、私の主な質問は新しいページをすべてとても速くロードさせる方法ですか?
PHP / mysql/Javascriptを使用しています
Facebookとmyspaceはどちらも、フォトギャラリーで優れた機能を備えています。画像ページに移動すると、ユーザーの画像とユーザーのコメントがページに表示されます。キーボードの左右の矢印キーを押すと、ページに次のページが読み込まれます。キーを押したままにすると、多くのページが高速で移動します。私はこれが主にjavascriptであると知っています、私の主な質問は新しいページをすべてとても速くロードさせる方法ですか?
PHP / mysql/Javascriptを使用しています
実際にページをロードするのではなく、 Ajaxを使用してページの一部のみをロードしています。ボタンを押すと、その場で画像が読み込まれます。「ネット」タブで開いているFirebugを使用して、Facebook でそれを見ることができます。
JQuery に興味がある場合は、JQuery Ajaxページが出発点として適しています。
実際の例として、人気のあるライトボックス スクリプトの 1 つのソース コードを調べることができます。
ユーザーが押しているキーと、左矢印と右矢印の応答をキャプチャします。キーの取得はそれほど難しくありません。
$(window).bind("keypress", function(e) {
var code = (e.keyCode ? e.keyCode : e.which); // which code?
alert(String.fromCharCode(code)); // which key, according to the code?
});
そのコードを好みに合わせて調整したいと思うでしょう。右矢印がクリックされた場合は、へのリクエストを送信しget-image.php?direction=next&user=12838203
、それが戻る矢印の場合は、単に「次へ」を「前へ」と交換します。
$("#loading").show(); // fancy ajax loading animation
$.post("get-image.php", {direction:"next",user:12838203}, function(response){
// hide our ajax loading animation
$("#loading").hide();
// if we get a proper response, like a source for a new image back
$("#image").fadeOut("fast").attr("src", response).fadeIn("fast");
});