使用JQuery从父级滚动iframe

时间:2012-07-16 03:08:34

标签: jquery iframe parent scrolltop

我正在尝试使用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-在这个主题上找不到多少。一个问题可能是父页面设置为scroll:none(iframe设置为默认值)。这可能是交易破坏者还是我错过了其他的东西?我意识到我可以在JavaScript中编写一个延迟循环,但这引起了我的好奇心。

1 个答案:

答案 0 :(得分:1)

这里有两个可能的问题,肯定是一个。

jQuery不理解此字符串中的contentWindow(),因此您需要使用contents()

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

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

按住它会滚动内容。尝试一下。