2010-12-20 126 views
10

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

+0

iframe或弹出? – Lex 2010-12-20 14:01:43

回答

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); 
1

Facebook的写在对话框的html代码为<div class="fb-root"></div>,所以如果你有<div style="position: absolute;"></div>围绕它出现的对话框中,你把这个代码。

例如:

<div style="position: absolute"> 
<div class="fb-root"></div> 
</div> 
+0

他不工作 – nXqd 2013-07-29 06:57:57

7

的FB.ui()对话框应该已经被相对于用户滚动是目前地方positionned。

如果没有,你可以简单地定位你的#FB-根CSS:

#fb-root { position:fixed; top:10%; } 

这样,扣式将永远是用户的滚动位置,并遵循它,如果他继续向上或向下滚动页面。