我有一個帶有反饋表單的iFrame。用戶點擊提交後,我想使用父窗口滾動到頂部。我知道我可以滾動到頁面的頂部:jQuery滾動到iframe父項的頂部
$('html, body').animate({scrollTop:0}, 'slow');
但是,這將只滾動iframe的內容,而不是父頁面。 有什麼建議嗎?
我有一個帶有反饋表單的iFrame。用戶點擊提交後,我想使用父窗口滾動到頂部。我知道我可以滾動到頁面的頂部:jQuery滾動到iframe父項的頂部
$('html, body').animate({scrollTop:0}, 'slow');
但是,這將只滾動iframe的內容,而不是父頁面。 有什麼建議嗎?
給這一個嘗試:
window.parent.$("body").animate({scrollTop:0}, 'slow');
<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。 scrollTo(0,0);這非常有幫助。尋找天。謝謝 – 2012-09-20 05:34:41
這個答案缺少很多解釋...這是Facebook的應用程序特定。但我試圖爲iFrame(canvas)Facebook應用程序解決這個問題,所以'FB.Canvas.scrollTo(0,0);'就是我所需要的。 – thaddeusmt 2013-05-26 00:01:01
這似乎這樣的伎倆還有:
$('html, body', window.parent.document).animate({scrollTop:0}, 'slow');
的second parameter到$
在搜索範圍內。
在Iframe頁面中。
window.parent.ScrollToTop(); // Scroll to top function
論parrent頁:
window.ScrollToTop = function(){
$('html,body', window.document).animate({
scrollTop: '0px'
}, 'fast');
};
它是否可以跨域使用? – Nubian 2017-10-06 08:31:54
<body onLoad="window.parent.scroll(0,0);">
在iframe的html頁面
它的身體,你可以做這麼簡單!
這似乎已經做到了!謝謝:) – iltdev 2010-09-27 16:01:42
我知道這個問題在一年前已經回答了,但是當我嘗試這個時,我得到了下面的錯誤:'TypeError:屬性'$'的對象[對象DOMWindow]不是一個函數。在Google Chrome瀏覽器中,我可以看到'window.parent'上定義的'$'函數,但是當我鑽進它時,它說它是未定義的。有沒有理由解釋爲什麼這個答案可能不再有效? – sellmeadog 2011-08-26 00:01:16
你不需要jQuery,如果你不關心動畫,使用window.parent.window.scrollTo(0,0);由於安全原因,它們必須位於同一個域中。 – devXen 2011-10-04 23:55:34