情况:
首先: iframe ,ID miframe ,显示一个名为 suchen 的网站,即
<div id="suchen"></div>.
二。父框架。
目标:在父框架内建立一个类似于
的链接<a class="LINK0" title="" href="javascript:springen('suchen');">w/e</a>
将 iframe 中的内容滚动到锚 suchen 。我的方法。
function springen(anker) {
var childWindow = document.getElementById("miframe").contentWindow;
// this should emulate a click on the ptAnchor DIV's child A HREF.
//childWindow.document.getElementById(anker).firstChild.click();
//childWindow.document.getElementById(anker).scrollIntoView();
// alternatively, this will simply scroll the child window to the top-left corner
//childWindow.scrollTo(0,200);
}
childWindow.scrollTo(0,200);
到目前为止工作,滚动到200。
但是我需要滚动到锚点,无论它在 iframe 中的哪个位置。想法?
答案 0 :(得分:6)
通常您会使用<a href="#your_anchor_name_or_id">Go to the anchor</a>
之类的链接。如果您想使用JavaScript执行此操作,则可以更改window.location.hash
的值。以下代码应在框架内执行此操作:
document.getElementById("the_id_of_your_iframe").contentWindow.location.hash = "your_anchor_name_or_id";
如果您不想更改哈希值,则有an example on MDN。您可以为iframe修改它。
答案 1 :(得分:3)
以下代码应将iframe滚动到锚点的位置:
function springen(anker) {
var childWindow = document.getElementById("miframe").contentWindow;
childWindow.scrollTo(0,childWindow.document.getElementById('suchen').offsetTop);
}
修改强>
JSFiddle:http://jsfiddle.net/pkvhw/6/