跳转到iframe锚点

时间:2012-12-15 14:56:43

标签: javascript html scroll

情况:

首先: 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 中的哪个位置。想法?

2 个答案:

答案 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/