调整FB.ui()对话框的位置

时间:2010-12-20 13:23:09

标签: javascript facebook api

我正在使用Fb.ui()向用户的墙发布更新,但对话框始终显示在浏览器的同一位置(如果向上滚动则位于中间位置)。问题是我正在从屏幕底部打开对话框。有没有办法让对话框显示用户的当前滚动位置?

3 个答案:

答案 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>