我正在尝试滚动到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。任何帮助都是极好的!
答案 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()的先前注释