2011-01-05 10 views
1

jQueryオートコンプリートプラグインを使用して、自分の写真と一緒にユーザーのリストをDBから表示しています。ユーザー画像なしで結果を表示すると、オートコンプリートは非常に高速です。しかし、画像では、画像を読み込んで表示するのに時間がかかる。画像がダウンロードされて表示されることを理解しています。しかし、Facebookでは、画像は瞬時に表示されます。私はFacebookが値を返すために高度な設定サーバーを使用し、画像を表示するためにいくつかの他のテクニックを使用することを理解しています。瞬時にアクセスできるDBや他の場所に画像を保存できる方法はありますか?私はjson形式で値を返すためにWebサービスを使用しています。jQueryオートコンプリートで画像をロード

+0

あなたは画像やリンクを格納しているがDBの画像に? – RAMe0

+0

今のところ、画像へのリンクを格納しておき、imgタグのsrcをポイントして表示しています。 – Ashish

答えて

1

テキストデータを読み込んだ後に画像を読み込めます。 たとえば、空白の画像(<img class="searchThumb" src="blank.gif"/>)と、実際の画像へのURL(<img class="searchThumb" src="blank.gif" img_source="/real_img_url.jpg"/>)を含むattr img_sourceの結果を作成することができます。また、画像を表示する機能をopenイベントに追加してください。

簡単な例(これは一例だと、私はそれをテストしていない)

$(function() { 
    function showImages(){ 
     $(".searchThumb").each(function(){ 
      $(this).arrt("src", $(this).attr("img_source")); 
     }); 
    } 
    $("#birds").autocomplete({ 
     source: "search.php", 
     minLength: 2, 
     open: showImages() 
    }); 
}); 

UPD

$(function() { 
    function showImages(){ 
     $(".searchThumb").each(function(){ 
      $(this).arrt("src", $(this).attr("img_source")); 
     }); 
    } 
    function formatItemFn(row,pos,count,term){ 
     // Here is formatting like I described before 
     if (pos==count) showImages(); 
    } 
    $("#birds").autocomplete({ 
     source: "search.php", 
     minLength: 2, 
     formatItem: formatItemFn() 
    }); 
}); 
+0

openはオートコンプリートのオプションではありません。私もformatResultで試しました。しかし、運がない。 – Ashish

+0

@Ashish私は[jQuery UI Autocomplit page](http://jqueryui.com/demos/autocomplete/)の "Events"タブをチェックしました。オートコンプリートには「オープン」というイベントがあります。 UIドキュメンテーションの説明: '提案メニューが開かれたときに起動されます.'そこでは、' open'イベントを使って例を見つけることができます。そして、はい、あなたは右の 'オープン'オプションではないイベントです。 – RAMe0

+0

私はjQueryオートコンプリートプラグインを使用していますが、jQuery UIオートコンプリートは使用していません。 (http://docs.jquery.com/Plugins/Autocomplete/autocomplete) – Ashish

関連する問題