2010-12-20 5 views
10

Używam funkcji Fb.ui(), aby opublikować aktualizację do ściany użytkownika, ale okno dialogowe zawsze pojawia się w tym samym miejscu w przeglądarce (środkowy środek, jeśli przewijany w górę). Problem polega na tym, że otwieram okno dialogowe z dołu ekranu. Czy istnieje sposób na wyświetlenie okna dialogowego dla bieżącej lokalizacji przewijania użytkownika?Dostosowywanie położenia okna dialogowego FB.ui()

+0

iframe lub popup? – Lex

Odpowiedz

1

Używam tego fragmentu kodu, aby ustawić pozycję okna na górze strony, ale możesz go użyć do ustawienia pozycji w dowolnym miejscu. Kod ten korzysta z biblioteki 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

facebooku napisać dialogowe kod HTML do <div class="fb-root"></div> więc jeśli otaczają go ze <div style="position: absolute;"></div> okno pojawia się, gdzie umieścić ten kod.

Na przykład:

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

jego nie działa – nXqd

7

Okno FB.ui() powinna być już positionned względem miejsca przewijania użytkownik aktualnie jest.

Jeśli nie, można po prostu umieścić swoje # FB-korzeń w CSS:

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

ten sposób, pop-in zawsze będzie na pozycji przewijania użytkownika, a także po nim, jeśli on nadal przewijać w górę lub w dół strony.