javascript - AngularJS 获取元素进入 View

标签 javascript angularjs scroll

我有一个非常宽的 div,其中包含很多元素。当我按下一个按钮时,我想让它进入视野吗? $anchorscroll 似乎无法以这种方式工作,有什么我可以使用的吗?

水平滚动到元素的东西

最佳答案

给你:

var app = angular.module("sa", []);

app.controller("FooController", function($scope) {

  $scope.scrollH = function() {
    var parent = document.querySelector("#parent");
    var focusable = document.querySelector("#focusme");

    var parentLeft = parent.getBoundingClientRect().left;
    var focusableLeft = focusable.getBoundingClientRect().left;

    parent.scrollLeft = focusableLeft - parentLeft;
  };
});
#parent {
  width: 300px;
  background: #ccc;
  overflow: auto;
}
#child {
  width: 1200px
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>


<div ng-app="sa" ng-controller="FooController">
  <div id="parent">
    <div id="child">
      Etiam feugiat lorem non metus. Sed cursus turpis vitae tortor. Vestibulum volutpat, euismod vitae, posuere imperdiet, leo. Sed libero. <strong id="focusme">I need to be scroll horizontally.</strong>
    </div>
  </div>
  <a href="#" ng-click="scrollH()">Scroll horizontally</a>
</div>

您可以将其包装为指令,使代码通用。

关于javascript - AngularJS 获取元素进入 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38169405/

相关文章:

angularjs - 使用 Restangular 将 Angular 输入字段映射到带有数组的 Go 结构

php - Laravel - 重定向到页面并滚动到页面底部

ios - 如何使用其 Web 内容制作 UIWebView 的 subview ?

javascript - "typeError: Cannot read property ' 用户名 ' of undefined."

javascript - jquery 将 json url 附加到 href 中

javascript - 需要使用javascript识别iOS编辑键盘中的 'Done'按钮点击

javascript - 全屏视频不允许在 Firefox 上滚动

javascript - 歌剧中的 getElementsByName 等

javascript - Angular 媒体播放器和动态内容

scope - Angular.js : make variables survive page reload