位置顶部并非每次都一致,
如果在dom仍加载时用户向下滚动,位置将有所不同。

 angular.module('users').directive('appplyProperty', ['$window', '$timeout',
        function ($window, $timeout) {
            var $win = angular.element($window);
            return {
                restrict: 'A',
                link: function (scope, element, attrs) {
                  var = offsetTop = element.offset().top;

                 $win.on('scroll', function (e) {
                    var checkTheTop = $window.scrollY - offsetTop;
                      if (checkTheTop > 0) {
                         // apply css property top = checkTheTop ;
                        } else {
                        //do something
                 }
                });
             });
          }
}]);


如何确保仅在加载DOM之后或在dom计算位置现在什么都没有的情况下才计算位置?

最佳答案

使用ready方法来确保您的角度DOM已准备就绪。

angular.element(document).ready(function () {
    $win.on('scroll', function (e) {
        var checkTheTop = $window.scrollY - offsetTop;
        if (checkTheTop > 0) {
            // apply css property top = checkTheTop ;
        } else {
            //do something
        }
    });
});

10-06 12:33