jQuery滚动到iframe父级的顶部

ilt*_*dev 22 jquery scroll

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

$('html, body').animate({scrollTop:0}, 'slow');
Run Code Online (Sandbox Code Playgroud)

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

xar*_*xar 32

尝试一下这个:

window.parent.$("body").animate({scrollTop:0}, 'slow');
Run Code Online (Sandbox Code Playgroud)

  • 你不需要jquery,如果你不关心动画,请使用window.parent.window.scrollTo(0,0); 出于安全原因,它们必须位于同一域中. (21认同)

Jes*_*run 11

这似乎也可以解决问题:

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

第二个参数,以$在搜索范围内.


小智 8

<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>
Run Code Online (Sandbox Code Playgroud)

  • 这个答案缺乏很多解释......这是Facebook应用程序特定的.但是我试图为iFrame(canvas)Facebook应用程序解决这个问题,所以`FB.Canvas.scrollTo(0,0);`就是我所需要的. (5认同)
  • FB.Canvas.scrollTo(0,0); 这非常有帮助.寻找天.谢谢 (2认同)