有没有办法在事件(如滚动)发生之后设置或重置颜色框选项?
以下是您通常设置彩盒选项的方法:
jQuery("a[rel='pop']").colorbox({ transition:"none", top:20px;});
我需要的是FB.canvas.getPageInfo()方法重置'top'选项。因此,用户向下滚动说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
可能需要发生的事情不是在(文档).ready上进行颜色框设置,我需要将我的rel =“pop”元素挂钩到一个函数 FB的测试(因为我也将在fb之外使用此页面。) 然后设置彩盒, 然后激发彩盒。
/ * xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx * /
我无法弄清楚如何在评论中编码,所以这里几乎是有效的代码:这在下面有效,但仅在第二次点击时,即使这样,它也使用了前一次点击的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
答案 0 :(得分:2)
尝试:
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%"});
});
});
答案 1 :(得分:0)
您可以随时重新应用设置:
jQuery("a[rel='pop']").colorbox({ transition:"none", top:20px;});
jQuery("a[rel='pop']").colorbox({ top:0px;}); // update the top property