Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何滚动到iframe中的特定div?_Javascript_Html_Angularjs_Iframe - Fatal编程技术网

Javascript 如何滚动到iframe中的特定div?

Javascript 如何滚动到iframe中的特定div?,javascript,html,angularjs,iframe,Javascript,Html,Angularjs,Iframe,我有一个div,其中有一个iframe,如下所示: <div> <iframe ng-src="{{somesourceurl}}"></iframe> </div> iframe加载的源具有具有唯一标识的div标记的html,如下所示: <div id="n_1"> <div id="n_2" /> <div id="n_3" /> <div id="n_4">

我有一个div,其中有一个iframe,如下所示:

<div>
    <iframe ng-src="{{somesourceurl}}"></iframe>
</div>

iframe加载的源具有具有唯一标识的div标记的html,如下所示:

<div id="n_1">
    <div id="n_2" />
    <div id="n_3" />
    <div id="n_4">
        <div id="n_5" />
    </div>
</div>

我还有一组按钮,对应于这些唯一标记的div,如下所示:

<button onclick="goToN1()">Go To n1</button>
<button onclick="goToN2()">Go To n2</button>
<button onclick="goToN3()">Go To n3</button>
<button onclick="goToN4()">Go To n4</button>
<button onclick="goToN5()">Go To n5</button>
转到n1
转到n2
转到n3
转到n4
转到n5

对于这些按钮中的每一个,我应该在onclick函数中添加什么,以便它们滚动到iframe中的适当位置?

我认为您可以更改
iframe
src
,使浏览器滚动到具有
id
的元素:

HTML 1

<div>
    <iframe id="my-iframe" ng-src="{{somesourceurl}}"></iframe>
</div>

我建议通过在代码中单击
ng
来更改
onclick
。@Mistalis为什么??
<button onclick="goToId('n_1')">Go To n1</button>
<button onclick="goToId('n_2')">Go To n2</button>
<button onclick="goToId('n_3')">Go To n3</button>
<button onclick="goToId('n_4')">Go To n4</button>
<button onclick="goToId('n_5')">Go To n5</button>
function goToId(id) {
    var iframe = document.getElementById("my-iframe");
    var src = iframe.src;
    if(src.indexOf('#') >= 0) src = src.substr(0, src.indexOf("#"));
    iframe.src = src + "#" + id;
}