【问题标题】:jQuery scroll to top of iframe parentjQuery滚动到iframe父级的顶部
【发布时间】:2011-04-17 20:12:27
【问题描述】:

我有一个带有反馈表的 iFrame。用户单击提交后,我想使用父窗口滚动到顶部。我知道我可以滚动到页面顶部:

$('html, body').animate({scrollTop:0}, 'slow');

但是,这只会滚动 iframe 的内容,而不是父页面。 有什么建议吗?

【问题讨论】:

    标签: jquery scroll


    【解决方案1】:

    试试这个:

    window.parent.$("body").animate({scrollTop:0}, 'slow');
    

    【讨论】:

    • 我知道这个问题差不多一年前就已经回答过了,但是当我尝试这个时,我得到了以下错误:TypeError: Property '$' of object [object DOMWindow] is not a function. 在 Google Chrome 中使用 JavaScript 控制台,我可以看到一个 $ 函数在window.parent 上定义,但是当我深入研究它时,它说它是未定义的。这个答案可能不再有效有什么原因吗?
    • 你不需要jquery,如果你不关心动画,使用window.parent.window.scrollTo(0,0);由于安全原因,它们必须在同一个域中。
    【解决方案2】:

    这似乎也能解决问题:

    $('html, body', window.parent.document).animate({scrollTop:0}, 'slow');

    second parameter$ 是要搜索的上下文。

    【讨论】:

      【解决方案3】:
      <script>
          jQuery(document).ready(function($) {
              FB.Canvas.scrollTo(0,0);
              FB.Canvas.setSize({width: 760, height:$('body').height()+20});
          });
      
          function scrollTo(x,y) {
              $("body").append('<iframe id="scrollTop" style="border:none;width:1px;height:1px;position:absolute;top:-10000px;left:-100px;" src="http://static.ak.facebook.com/xd_receiver_v0.4.php?r=1#{%22id%22%3A0%2C%22sc%22%3Anull%2C%22sf%22%3A%22%22%2C%22sr%22%3A2%2C%22h%22%3A%22iframeOuterServer%22%2C%22sid%22%3A%220.957%22%2C%22t%22%3A0}[0%2C%22iframeInnerClient%22%2C%22scrollTo%22%2C{%22x%22%3A'+x+'%2C%22y%22%3A'+y+'}%2Cfalse]" onload="$(\'#scrollTop\').remove();"></iframe>');
          }
      </script>
      

      【讨论】:

      • FB.Canvas。滚动到(0,0);这很有帮助。寻找天。谢谢
      • 这个答案缺乏很多解释......它是特定于 Facebook 应用程序的。但我试图为 iFrame(画布)Facebook 应用程序解决这个问题,所以 FB.Canvas.scrollTo(0,0); 正是我所需要的。
      【解决方案4】:

      在 iframe 页面内。

      window.parent.ScrollToTop(); // Scroll to top function
      

      在父页面上:

      window.ScrollToTop = function(){
        $('html,body', window.document).animate({
          scrollTop: '0px'
        }, 'fast');
      };
      

      【讨论】:

        【解决方案5】:

        &lt;body onLoad="window.parent.scroll(0,0);"&gt;

        在 iframe 的 html 页面的正文中

        一切尽你所能!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-08-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-02-16
          • 1970-01-01
          • 2011-04-27
          相关资源
          最近更新 更多