2

我正在尝试使用 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 中编写延迟循环,但这激起了我的好奇心。

4

1 回答 1

1

这里有两个可能的问题,绝对是一个。

jQuery 不理解contentWindow()这个字符串,为此你需要使用 contents().

如果您能够操作 iframe(同域)的内容,那么您可以使用

$('element').on('mousedown', function(){
  $('iframe').contents().animate({ scrollTop : 50 });
});

按住它会滚动内容。试试看。

于 2012-07-16T03:54:57.460 回答