我正在尝试使用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中编写一个延迟循环,但这引起了我的好奇心。
答案 0 :(得分:1)
这里有两个可能的问题,肯定是一个。
jQuery不理解此字符串中的contentWindow()
,因此您需要使用contents()
。
如果您能够操纵iframe(同域)的内容,那么您可以使用
$('element').on('mousedown', function(){
$('iframe').contents().animate({ scrollTop : 50 });
});
按住它会滚动内容。尝试一下。