【发布时间】:2012-07-16 03:08:34
【问题描述】:
我正在尝试使用 JQuery 从父窗口滚动 iframe。换句话说,在父页面上设置滚动子 iframe 的滚动按钮。它适用于 JavaScript,使用:
function scroller(howMuch)
{
var myIframe = document.getElementById('iframeid');
myIframe.contentWindow.scrollBy(0,howMuch);
}
然后从以下位置调用函数:
<a href="javascript:scroller(-50)">Scroll Up 50 px</a>
但是尝试使用 JQuery 来使用 animate() 而不是笨重的 scrollBy() 并不容易。我试过了
$('#iframeid').contentWindow.animate({scrollTop : 50});
例如。我相当确定这是如何从 JQuery 访问 iframe 的 contentWindow - 在这个主题上找不到太多。一个问题可能是父页面设置为滚动:无(iframe 设置为默认值)。这可能是交易破坏者还是我错过了其他东西?我意识到我可以在 JavaScript 中编写延迟循环,但这激起了我的好奇心。
【问题讨论】:
-
尝试给父 scroll:auto 也一样,那么你至少可以排除这种情况。
-
另外,您还没有描述此代码是如何失败的,您是否遇到任何 JS 错误,哪个?我猜
$('#iframeid').contentWindow是无效的,因为 $() 返回一个 jquery 对象。$('#iframeid')[0].contentWindow可能会成功。 -
iframe 页面是否与父级在同一个域中?
-
相同的域,是的。代码没有错误,我试过给每个人滚动:自动。
标签: jquery iframe parent scrolltop