javascript - AngularJS 的 CSS 偏移增量

标签 javascript jquery html css angularjs

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

HTML:

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

JS:

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

非常感谢有关如何处理此类事情的任何建议!

最佳答案

你可以做这样的事情,你的 Controller 会跟踪位置并相应地更新样式。

HTML:

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

Controller :

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/

关于javascript - AngularJS 的 CSS 偏移增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19985227/

相关文章:

javascript - Famo-us Surface 内的 Google map 无法在移动设备上拖动

javascript - D3 转换循环抛出 Uncaught TypeError : t. call is not a function

jquery - slideToggle 如何与 Bootstrap 一起使用?

javascript - 将 svg 字符串元素插入现有 svg 标签

javascript - JQuery AJAX 检索对象数组

原型(prototype)中具有数字属性的 Javascript 对象

javascript - 如何选择所有f :selectItems inside p:selectOneRadio with javascript in JSF?

javascript - 向表单添加多个字段

css - 扩展标题 div 的边框

HTML Validator 在表单输入类型上给我错误,元素在上下文中不允许