我有几个加载外部网页的iFrame,虽然一次只出现1个,因此我想要添加到按钮(而不是滚动条)的id =“iFrame”,以便用户可以向下或向上滚动按下它们,我试图用javascript做到这一点,但到目前为止我一直没有成功,我在这里看了一些帖子并尝试those answers但到目前为止还没有运气。我也尝试过:
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);
到目前为止还没有任何结果,任何人都可以让我知道我错过了什么或做错了什么?谢谢!
答案 0 :(得分:1)
尝试使用以下内容(未经测试,但应该可以使用):
function scrollIFrame(name, x, y)
{
var frame = document.getElementById(name);
frame.contentWindow.scrollTo(x, y);
}
所以,你会使用:
scrollIFrame('iframe', 0, 250);
答案 1 :(得分:0)
试试这个:
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;
}
scrollBy
和scrollTo
的工作原理相同。这里重要的是getElementsByTagName
返回一个数组。如果您运行此newFrame.contentWindow.scrollBy(0,250);
,则不会滚动iframe,而是尝试滚动数组。相反,您必须运行此命令:newFrame[0].contentWindow.scrollBy(0,250);