gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 12:13:20 29 4
gpt4 key购买 nike

我正在为我的元素制作一个内容 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/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com