2

到目前为止,我可以提醒“ FB.Canvas.getPageInfo ”的“scrollTop”值:

FB.Canvas.getPageInfo(
      function(info) {
          alert('scrollTop: ' + info.scrollTop);
      }
  );

现在我想在我的一个函数中使用这个值,但我不知道如何。以下不起作用:

function test() {
    var fbScrollTop = FB.Canvas.getPageInfo();
    alert(fbScrollTop);
}

如何访问该值?

4

3 回答 3

1

我不知道它是否有用。但现在我可以在我的 facebook 应用程序中将我的 div 居中。这是功能:

jQuery.fn.center = function () {
    var temp = this;
    FB.Canvas.getPageInfo(
    function(info) {
            $(temp).css("position","absolute");
            $(temp).css("top", Math.max(0, ((info.clientHeight - $(temp).outerHeight()) / 2) + info.scrollTop) + "px");
            $(temp).css("left", Math.max(0, ((info.clientWidth - $(temp).outerWidth()) / 2) + info.scrollLeft) + "px");
        }
    );

    return this;
}

我这样使用:

var loading = $("#loading");
    loading.center();
于 2013-05-20T01:55:19.487 回答
0

SDK 中可用的大多数方法都是异步的- 这意味着在调用提供的回调(使用响应)之前,响应将不可用。

于 2012-12-19T19:34:40.643 回答
0

只需将两者结合起来

function test() {
    var fbScrollTop;
    FB.Canvas.getPageInfo(function(info) {
        fbScrollTop = info.scrollTop;
        alert(fbScrollTop);
    });
}
于 2012-12-19T11:12:31.293 回答