锚到iframe或html5对象

时间:2015-06-29 21:32:56

标签: javascript angularjs html5

我正在尝试滚动到HTML5对象中的元素,如下所示:

HTML with angular:

<a href="" ng-click="gotoAnchor(5)">SHOW ME</a>

这是我用来在本地提取html文件的对象。

<object type="text/html" data="sample.html" id="site-frame">

在sample.html中,我在页面底部有一个div:

div id="anchor5" class="anchor">Anchor 5 of 5</div>
控制器内的

功能:

$scope.gotoAnchor = function(x) {
        var newHash = 'anchor' + x;
        if ($location.hash() !== newHash) {
          $location.hash('anchor' + x);
        } else {
          $anchorScroll();
        }
      };

如果我将anchor5 div放在对象之外,它可以工作,但不能在对象内部。我期待进入对象并滚动到div。任何帮助都是极好的!

1 个答案:

答案 0 :(得分:0)

想出来。这是我使用的代码:

var goToLink = function(link){
    var element = document.getElementById('site-frame').contentWindow.document.getElementById(link)
    element.scrollIntoView({block: "end", behavior: "smooth"});
}

我能够使用选项和其他答案 - How to pick element inside iframe using document.getElementById

使用scrollIntoView()的先前注释