我的 HTML 如下所示:
<div id="main" layout="column" flex>
<md-toolbar></md-toolbar>
<md-content></md-toolbar>
</div>
我尝试定位<div>
并使用 JavaScript 滚动到顶部,如下所示:
document.getElementById('main').scrollTop = 0;
但这不起作用,因为<div id="main">
' 的scrollTop
值等于 0,因为它是一个整页的 web 应用程序。
我将id
属性移动到<md-content>
元素:
<div layout="column" flex>
<md-toolbar></md-toolbar>
<md-content id="main"></md-toolbar>
</div>
在我的控制器中,我注入了“$window”服务来获取“文档”对象上的钩子,从而更恰当地获取元素上的钩子:
angular
.module('app')
.controller('Controller', Controller);
Controller.$inject = ['$window', ...];
function Controller($window, ...) {
var vm = this;
vm.scrollToTop = scrollToTop;
...
function scrollToTop(elementId) {
$window.document.getElementById(elementId).scrollTop = 0;
}
...
}