0

画像ギャラリーがあります。ユーザーがサムネイルの ajax リクエストをクリックすると、ギャラリーにサムネイルが表示されます。ユーザーがサムネイル要求をもう一度クリックしたときに、既存のデータを起動して使用しないようにしたい。

$.getJSON(url, function(data) {

}

私はjsオブジェクトが必要で、クリックがサムネイルで行われたときにそのオブジェクトのすべての画像のjsonデータを保持します。最初にデータが既にロードされているかどうかを確認し、はいの場合はajax呼び出しを行わず、単にフェッチしたデータを使用します以前にオブジェクトのデータを保持する必要がありますか?? もし、そうなら!どうすればこれを行うことができますか?

4

1 に答える 1

2

最初のクリック イベントを.oneでバインドし、その中で ajax を要求した後に新しいクリック イベントをバインドします。

$(".thumbnail").one("click",function(){
    var request = $.getJSON(url);
    $(this).on("click",function(){
        request.done(function(data){
            // do something with data when it is available
        });
    }).triggerHandler("click");
});

各サムネイルを最初にクリックすると、データが要求されてからデータが使用され、その後の各クリックではデータのみが使用されます

于 2013-03-12T19:05:56.950 に答える