2016-12-20 75 views
5

Delay]延迟在角JS使用隐藏吴隐藏按钮

有某种延迟的时候我用的NG-隐藏/ NG-显示,它的困扰我非常喜欢。但是当执行一个类似的JS小提琴时,它工作正常。这里是JS Fiddle

任何原因为什么发生?我该如何解决它?

<div ng-controller="MyCtrl"> 
    Hello, {{name}}! 
    <button class="btn btn-warning" ng-show="isDisabled">HI</button> 
    <button class="btn btn-primary" ng-hide="isDisabled">BYE</button> 
    <a ng-click='relink()'> Link me to my existing account</a> 
</div> 

控制器:

var myApp = angular.module('myApp', []); 
    function MyCtrl($scope) { 
    $scope.name = 'Superhero'; 
    $scope.isDisabled = false; 
    $scope.relink = function() { 
     $scope.isDisabled = !$scope.isDisabled; 
     } 
    } 
+1

你使用的是ngAnimation还是什么? –

+1

你可以检查是否有任何动画应用到你的页面? –

+0

谢谢你们两位。是的,我正在使用ng-animate。当我删除ng-animate时,它开始正常工作。现在我想禁用那个ng-animate。我怎么能这样做,因为我在其他地方使用ng-animate @SaEChowdary –

回答

2

试试这个CSS一旦

.btn.ng-animate { transition:0s none; 
     -webkit-transition:0s none; 
     animation: 0s none; 
     -webkit-animation: 0s none; } 
0

让我们尝试的ng-if代替ng-showng-hide

<div ng-controller="MyCtrl"> 
    Hello, {{name}}! 
    <button class="btn btn-warning" ng-if="isDisabled">HI</button> 
    <button class="btn btn-primary" ng-if="!isDisabled">BYE</button> 
    <a ng-click='relink()'> Link me to my existing account</a> 
</div> 
+0

,这没有任何意义...你可以使用任何一个。在这种情况下,不会有效果。 –

1

你可以做到这一点 CSS

.no-animate { 
    -webkit-transition: none !important; 
    transition: none !important; 
} 

只需添加上的元素该类你不想在您的应用程序中生成动画 HTML

<div ng-controller="MyCtrl"> 
    Hello, {{name}}! 
    <button class="btn btn-warning no-animate" ng-show="isDisabled">HI</button> 
    <button class="btn btn-primary no-animate" ng-hide="isDisabled">BYE</button> 
    <a ng-click='relink()'> Link me to my existing account</a> 
</div>