0

我在使用 ng-repeat 创建的表中使用 angular progress-bar 指令,以及 jquery 表排序器插件。

问题是根本不会完成/显示初始动画;当用户刷新页面时,他将获得已将进度设置为正确级别/值的表格。

如果我稍后使用虚拟按钮更改值,动画将正确显示。

我的问题是:

如何延迟开始动画,以显示从 0(某个初始值)到某个特定值 - 64 的进度,例如

如果您有使用不同方法的建议,请随时告诉我,我很开放。

4

1 回答 1

0

如果有人遇到类似的问题,它可能会帮助他使用angular $timeout 服务。问题是,如果你有很多进度条,比如我(单页上超过 200 个),你会遇到性能问题,尤其是对于不使用 Google Chrome 的用户。

这是更新的“进度条”指令:

.directive('progressbar', ['$transition', '$timeout', function($transition, $timeout) {
    return {
        restrict: 'EA',
        replace: true,
        scope: {
            width: '=',
            old: '=',
            type: '=',
            animate: '='
        },
        templateUrl: 'template/progressbar/bar.html',
        link: function(scope, element) {
            $timeout(function(){
                scope.$watch('width', function(value) {
                    if (scope.animate) {
                        element.css('width', scope.old + '%');
                        $transition(element, {width: value + '%'});
                    } else {
                        element.css('width', value + '%');
                    }
                });
            },100)

        }
    };
}]);
于 2013-10-30T11:20:54.743 回答