javascript - 如何让元素停止触发 ngAnimate?

标签 javascript html css angularjs slider

我正在为我的元素制作一个内容 slider ,但我对 AngularJS 的经验很少。 我找到了 this plunker这非常适合我的需要。可以看我的直播page here .它是俄语,但我希望这不会成为问题。 slider 位于页面中间 - 一个包含 8 张卡片的部分。

所以问题是: slider 由其下方的箭头控制。尽管如此,如果您单击卡片内的红色按钮,它将更新模型,并且类 ng-enter 和 ng-leave 将应用于父容器,这将导致 slider 动画。那么,如果您只需单击这些红色按钮,问题就会变得很明显。

有没有办法让这些红色按钮不将 ng-enter 和 ng-leave 类应用到容器 div?

更新:Here is a plunker ,这说明了我的问题。当您单击 Prev 和 Next 按钮时,动画必须发生。但当您单击“选择”或“选择”链接时会发生这种情况,这会更新模型。

这是一个标记

<body ng-controller="MainCtrl">
    <div class="page-container">
      <div class="gift-page" ng-class="direction" ng-repeat="page in gifts | partition: 6 | offset: currentPage | limitTo: 1">
          <ul class="gift-list clearfix">
              <li class="gift" ng-repeat="gift in page">
                  <div class="gift-item">
                      <div class="gift-details">
                          <h3>{{gift.title}}</h3>
                          <span class="points">{{gift.points}} points</span>
                          <a href="" class="buy" ng-show="!gift.ordered" ng-click="addToBasket(gift)">Choose</a>
                          <a href="" class="bought" ng-show="gift.ordered" ng-click="removeFromBasket(gift)">Chosen</a>
                      </div>
                  </div>
              </li>
          </ul>
      </div>

    </div>
    <div class="controls">
      <button ng-click="prev()">Prev</button>
      <button ng-click="next()">Next</button>
    </div>
  </body>

最佳答案

快速但不是最好的解决方案是在 Action 前关闭动画并在 Action 后打开:

  $scope.addToBasket = function(gift){

    $animate.enabled(false);

    gift.ordered = true;

    $timeout(function(){
      $animate.enabled(true);
    })
  }

这里是 plunk . 稍后会寻找更好的解决方案))

关于javascript - 如何让元素停止触发 ngAnimate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26676592/

相关文章:

html - 如果它出现在父项的末尾,如何隐藏具有特定类的 div?

javascript - 使用 javascript(或 jQuery)选择和操作 CSS 伪元素,例如::before 和::after

php - 操作和确认 - 不同的页面,如何传递文本?

javascript - 扩展语法无法破坏数组

javascript - 将 100 件元素放入圆形容器中,使用 javascript 均匀分布

javascript - 我如何根据另一个 div jQuery 中的内容显示一个 div

html - div 垂直对齐不起作用

jquery - 如何在一组元素周围显示 Angular 边框?

jquery - 无法将图片上传到我的域

javascript - Ext JS -DOM 查询问题