スクロールなどのイベントが発生した後、後でカラーボックスオプションを設定またはリセットする方法はありますか?
通常、カラーボックスオプションを設定する方法は次のとおりです。
jQuery("a[rel='pop']").colorbox({ transition:"none", top:20px;});
必要なのは、FB.canvas.getPageInfo()メソッドが「top」オプションをリセットすることです。したがって、ユーザーは300pxと言って下にスクロールしました。getPageInfoはそれを教えてくれます。しかし、ポップアップを開く前に、getPageinfo()がカラーボックスと通信して設定を変更する方法を理解できません。
FB.Canvas.getPageInfo(callbak);
function callbak(info){
i want to set the 'top' here, with info.scrollTop
so that when colorbox pops, its positioned correctly.
}//callback
(document).readyでカラーボックス設定を行う代わりに、必要なのはFBをテストする関数にrel = "pop"要素をフックする必要があるかもしれません(fbの外でこのページを使用するため、 )そしてカラーボックスを設定し、カラーボックスを起動します。
/ * xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx * /
コメントでコーディングする方法がわからないので、ここにほぼ機能するコードがあります:これは以下で機能しますが、2回目のクリックでのみ機能し、それでも前のクリックのscrollTopを使用しています。カラーボックス設定の前のalert()には、最初のクリックで正しい情報があります。どうやら、それは次のクリックのためにトップを「正しく」設定していますが、*このクリックのためにトップをリセットする必要があります。
jQuery("a[rel='pop']").colorbox({ transition:"none", top:"5px", maxWidth:"85%", maxHeight:"85%",
onOpen:function(){dothething(); }});
function dothething(){
FB.Canvas.getPageInfo(callbak);
function callbak(info){
var ist = info.scrollTop;
// alert('callbak'+ist);
jQuery("a[rel='pop']").colorbox({ top:ist+"px"});
}//callback
}//dothething