0

slideThis()在我的 Angular 应用程序中,我有一个 div,每次调用该函数时,我希望将其左偏移量增加 90px 。在 jQuery 中,我会通过指定类似的东西来做到这一点left: '+=90',但是据我所知,在 AngularJS 中似乎没有等效或可比的方法来做到这一点 - 还是我遵循了完全错误的方法?

HTML:

<div ng-style="myStyle"></div>

JS:

$scope.slideThis = function() {
    $scope.myStyle = {
        left: '+=90'
    }
}

真的很感激任何关于如何去做这样的事情的建议!

4

1 回答 1

1

你可以做这样的事情,让你的控制器跟踪位置并相应地更新样式。

HTML:

<input type="button" value="Move" ng-click="slideThis()"> 
<div ng-style="myStyle">Stuff to move</div>

控制器:

myApp.controller('MyCtrl', function ($scope) {    

    var pos = 0;
    $scope.slideThis = function() {
       pos += 90;

       $scope.myStyle = { 
          position: 'absolute',
          left: pos+'px'
    }
  };
});

显然,您可以使用相同的方法使用边距或填充。

在这里演示:http: //jsfiddle.net/zKRLs/3/

于 2013-11-14T18:56:11.900 回答