如何使用JavaScript来滚动一个iFrame(How to Scroll an iFrame

2019-10-20 03:33发布

我有几个iFrame的是加载外部网页,虽然只有1出现的时间,因此都具有ID =“的iFrame”我想要添加到按钮(而不是滚动条),使用户可以通过按下来,或向上滚动,我试图做到这一点使用JavaScript,但到目前为止,我没有成功,我在这里读了一些帖子,想那些 答案,但至今没有运气。 我也曾尝试:

var newFrame = document.getElementsByTagName('iframe');
if(typeof newFrame !== 'undefined'){
    newFrame.contentWindow.scrollBy(0,250);

var myframe = document.getElementById(window.frameElement[0].id);
myframe.window.scrollBy(0,50);

到目前为止,一切都没有制定出来,任何人都可以让我知道我错过或做错了吗? 谢谢!

Answer 1:

尝试使用以下(未经测试,但应工作):

function scrollIFrame(name, x, y)
{
    var frame = document.getElementById(name);        
    frame.contentWindow.scrollTo(x, y);         
}

所以,你可以使用:

scrollIFrame('iframe', 0, 250);


Answer 2:

尝试这个:

var iFrames = document.getElementsByTagName('iframe');
for (var i = 0; i < iFrames.length; i++) {
    //+= for -= depending on direction
    //scrollLeft for horizontal, scrollTop for vertical
    //iFrames[i].contentWindow.scrollTop += 10;
    iFrames[i].contentWindow.scrollTop -= 10;
}

scrollByscrollTo应该工作一样。 这里最重要的是, getElementsByTagName返回一个数组。 如果你运行这个newFrame.contentWindow.scrollBy(0,250); 你是不是滚动的iframe,而是试图滚动阵列。 相反,你必须运行此: newFrame[0].contentWindow.scrollBy(0,250);



文章来源: How to Scroll an iFrame using javascript