Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使元素停止触发ngAnimate?_Javascript_Html_Css_Angularjs_Slider - Fatal编程技术网

Javascript 如何使元素停止触发ngAnimate?

Javascript 如何使元素停止触发ngAnimate?,javascript,html,css,angularjs,slider,Javascript,Html,Css,Angularjs,Slider,我正在为我的项目制作一个内容滑块,但我在AngularJS中几乎没有过期时间。 我找到了非常适合我需要的。你可以看到我的生活。它是用俄语写的,但我希望不会有问题。滑块在页面的中间——一个有8张卡片的部分。< /P> 所以问题是: 滑块由其下方的箭头控制。但是,如果您单击卡内的红色按钮,它将更新模型,并且类ng enter和ng LEVE将应用于父容器,从而产生滑块动画。如果你点击这些红色按钮,问题就会变得很明显 有没有办法使这些红色按钮不将ng enter和ng LEVE类应用于containe

我正在为我的项目制作一个内容滑块,但我在AngularJS中几乎没有过期时间。 我找到了非常适合我需要的。你可以看到我的生活。它是用俄语写的,但我希望不会有问题。滑块在页面的中间——一个有8张卡片的部分。< /P> 所以问题是: 滑块由其下方的箭头控制。但是,如果您单击卡内的红色按钮,它将更新模型,并且类ng enter和ng LEVE将应用于父容器,从而产生滑块动画。如果你点击这些红色按钮,问题就会变得很明显

有没有办法使这些红色按钮不将ng enter和ng LEVE类应用于container div

更新:,这说明了我的问题。当您单击“上一步”和“下一步”按钮时,动画必须出现。但当您单击“选择”或“选择”链接时,会发生这种情况,从而更新模型

这是一个标记

<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>

  • {{gift.title} {{gift.points}}}points
上 下一个
可以尝试添加$event.stopPropagation();对于ng click事件,在您的情况下:

<a href="" class="buy" ng-show="!gift.ordered" ng-click="addToBasket(gift); $event.stopPropagation();">Выбрать</a>

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

  $scope.addToBasket = function(gift){

    $animate.enabled(false);

    gift.ordered = true;

    $timeout(function(){
      $animate.enabled(true);
    })
  }
这是。
(稍后将寻找更好的解决方案)很遗憾,这没有帮助。您可以创建一些plunk来使用它吗?我对$animate.enabled(false)有想法,但不建议使用此解决方案。。。这几乎和我页面上的问题一样。只有在单击“下一步”和“上一步”按钮时才会出现动画(这不会发生),而不是在单击“选择”或“选择”链接时才会出现动画。非常感谢。我在这里被困了三天,不知道怎么解决。至少现在能用了!真正的问题在于分页。这种分页方式使得原始收藏(礼物)中的任何更改都将导致重新计算页面,动画也将被应用。我建议您以方便的方式重写它。快速解决方案的问题是,不建议手动关闭/打开动画,也不建议使用超时。