2011-06-28 13 views
0

私は2つのjQueryプラグイン、FancyboxとEmbedly(jQuery oembedのような)を組み合わせています。jQueryコールの同期

Fancybox onStartイベントでは、私はリンクのURLを取得し、oembedサービスへの呼び出しを行い、応答(ビデオ)をライトボックスに戻します。

少なくとも私は何が起こりたいのですか?私はoembedプロバイダーからの返答を受けていますが、これが起こるときにonStart関数が既に完了していると思います。

コード:

$('a').fancybox({ 
    type: 'html', 
    onStart: function(selectedArray, selectedIndex, selectedOpts) { 
      var url = selectedArray[selectedIndex].href; 
      $.embedly(url, { 
       success: function (oembed, dict) { 
      selectedOpts.content = oembed.html; 
       } 
      }); 
    } 
}); 

私が同期呼び出しを処理する必要があるようですか?

おかげ
ベン

答えて

-1

この

$('a').each(function(i, a){ 
      var url = a.href, $a = $(a); 
      $.embedly(url, { 
       success: function (oembed, dict) { 
        $a.fancybox({ 
        type: 'html', 
        onStart: function(selectedArray, selectedIndex, selectedOpts) { 
         selectedOpts.content = oembed.html; 

           } 
        }); 
        } 

       } 
      }); 
}); 
+0

は、残念ながら、これは私がギャラリーモードでのリンクのコレクションを読み込むことができないことを意味してください。このため、私は要素の配列にfancyboxを呼び出し、onstartの内容をオーバーライドする必要があります。 –