使用FB.CanvasgetPageInfo()动态设置Colorbox选项
有没有办法在事件发生之后(如滚动)发生后再设置或重置颜色框选项?使用FB.CanvasgetPageInfo()动态设置Colorbox选项
这里是如何你通常颜色框设置选项:
jQuery("a[rel='pop']").colorbox({ transition:"none", top:20px;});
我需要的是对FB.canvas.getPageInfo()方法来重置“顶”选项。所以,用户向下滚动说300px。 getPageInfo可以告诉你。但是,我无法弄清楚如何在打开弹出窗口之前让getPageinfo()与colorbox对话并更改设置。
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
也许需要采取什么措施是不是在做颜色框设置(文件)。就绪,我需要挂接我的rel =“流行”元素的功能 试验FB(因为我会也可以在fb之外使用这个页面。) 然后设置colorbox,然后点击colorbox, 。
/* xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx */
我无法弄清楚如何在注释中的代码,所以这里几乎是工作代码:从以前这下面的作品,但只有在第二次点击,即使如此,它使用浏览器对scrollTop单击。我的colorbox设置之前的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
尝试:
jQuery("a[rel='pop']").click(function(e) {
e.preventDefault();
link = jQuery(this).attr('href');
FB.Canvas.getPageInfo(function(info) {
ist = info.scrollTop;
jQuery.colorbox({href:link, transition:"none", top:ist+"px;", maxWidth:"85%",maxHeight:"85%"});
});
});
您可以在任何时候重新申请设置:
jQuery("a[rel='pop']").colorbox({ transition:"none", top:20px;});
jQuery("a[rel='pop']").colorbox({ top:0px;}); // update the top property
权。但是,当我点击我的缩略图时,如何设置顶部*?要么我需要使用colorbox钩子或回调(我已经尝试了这一堆,我的主要问题似乎是,我不能从FB函数获取信息)或者我需要钩我的rel = pop到一个函数调用FB.getInfo(cb)然后cb()需要设置colorbox并打开它,我想。或者,也许colorbox挂钩或回调或事件会调用FB.getinfo()里面的函数,它会设置顶部,然后让colorbox做它的事情。我不能用jq/js知道如何做到这一点。谢谢你的时间,杰克。 – 2012-04-28 17:56:29
好的,越来越近。下面的代码工作,但只在第二次点击,即使如此,它使用前面的点击 – 2012-04-29 17:15:27
bah,愚蠢的代码格式的scrollTop。那么,事情是,我的colorbox设置之前的alert()在第一次点击时有正确的信息。显然,它为下一次点击设置了“正确”的顶部,但我需要将顶部重置为*此点击。 @jack – 2012-04-29 17:29:38
就是这样,兄弟。只需要做一些与顶部玩,让它居中,但这完美的作品:) – 2012-05-01 01:18:55