【发布时间】:2010-12-20 13:23:08
【问题描述】:
我正在使用 Fb.ui() 向用户墙发布更新,但对话框始终出现在浏览器的同一位置(如果向上滚动,则位于中间中间)。问题是我正在从屏幕底部打开对话框。有没有办法让对话框显示用户当前的滚动位置?
【问题讨论】:
标签: javascript facebook api
我正在使用 Fb.ui() 向用户墙发布更新,但对话框始终出现在浏览器的同一位置(如果向上滚动,则位于中间中间)。问题是我正在从屏幕底部打开对话框。有没有办法让对话框显示用户当前的滚动位置?
【问题讨论】:
标签: javascript facebook api
FB.ui() 对话框应该已经相对于用户当前滚动的位置定位。
如果没有,您可以简单地将 #fb-root 放在 CSS 中:
#fb-root { position:fixed; top:10%; }
这样,弹出窗口将始终位于用户的滚动位置,并且如果他继续向上或向下滚动页面,也会跟随它。
【讨论】:
我正在使用这段代码将对话框位置设置为页面顶部,但您可以使用它来将位置设置为您想要的任何位置。此代码使用 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);
【讨论】:
facebook 将对话框 html 代码写入<div class="fb-root"></div>,因此如果您用<div style="position: absolute;"></div> 包围它,对话框就会出现在您放置此代码的位置。
例如:
<div style="position: absolute">
<div class="fb-root"></div>
</div>
【讨论】: