如何在Angularjs中使用超时功能切换div图层?

时间:2016-08-11 14:19:24

标签: javascript html css angularjs

Angular Technorati的成员。我带着一个令人费解的问题来找你,虽然很简单。我需要在大约11秒后切换出一个div层并显示另一个div层。如何使用angularjs超时服务完成,最好是在控制器内?

好的,如果我将show and hide事件与$ timeou服务结合起来怎么办?

`  <body ng-app="myApp">
<div ng-controller="showHideController"  ng-init="getPanel_1()">




  <div  ng-controller="showHideController" ng-show="divA"style=''>


</div>



<div ng-controller="showHideController" ng-show="divB" style=''>
</div>
<script>
 angular.module('myApp',[]).controller('showHideController',function($scope, $timeout) {


  $scope.getPanel_1 = function(){
  $scope.divA = true;
  $scope.divB = false;
  $scope.divC = false; 
  }
  $timeout(function (){
  $scope.getPanel_1 = function(){
  $scope.divA = false;
  $scope.divB = true;
  $scope.divC = false; 
  }
  }, 5000);
});

</script>`

提前致谢, Batoe。

“成功之路充满了障碍......但也取得了成功!” 未知的乐观主义者。

1 个答案:

答案 0 :(得分:0)

不是很有棱角的方式,但你可以:

<div ng-controller="myCtrl">
    <div ng-include src="currentDiv">
    </div>
</div>

<script type="text/ng-template" id="div1.html">
    <div ng-controller="panel_1">
    </div>
</script>

<script type="text/ng-template" id="div2.html">
    <div ng-controller="panel_2">
    </div>
</script>

并在您的控制器中:

app.controller('myCtrl', function($scope, $timeout) {
    $scope.currentDiv= "div1.html" ;

    $timeout(function () {
        $scope.currentDiv= "div2.html" ;
    }, 15000);
});