我正在使用Fb.ui()向用户的墙发布更新,但对话框始终显示在浏览器的同一位置(如果向上滚动则位于中间位置)。问题是我正在从屏幕底部打开对话框。有没有办法让对话框显示用户的当前滚动位置?
答案 0 :(得分:7)
FB.ui()对话框应该已经相对于当前用户滚动的位置进行了定位。
如果没有,您可以简单地将#fb-root放在CSS中:
#fb-root { position:fixed; top:10%; }
这样,pop-in将始终位于用户的滚动位置,如果他继续向上或向下滚动页面,也会跟随它。
答案 1 :(得分:1)
我正在使用这段代码将对话框位置设置到页面顶部,但您可以使用它来设置您想要的位置。此代码使用jQuery库
setInterval(function(){
var dialog = $('.fb_dialog');
for(var i = 0; i < dialog.length; i++)
{
var d = $(dialog[i]);
if(parseInt(d.css('top')) > 0 && parseInt(d.css('top')) != 195)
{
d.css('top', '195px')
}
}
}, 500);
答案 2 :(得分:1)
Facebook将对话框html代码写入<div class="fb-root"></div>
,因此如果您用<div style="position: absolute;"></div>
将其包围,则会出现放置此代码的对话框。
例如:
<div style="position: absolute">
<div class="fb-root"></div>
</div>