2016-08-11 1 views
0

Angular Technoratiのメンバーです。私は困惑する問題であなたに来ますが、簡単です。私は約11秒後にdivレイヤーを切り替えて別のdivレイヤーを表示する必要があります。これは、好ましくはコントローラ内で、anglejsタイムアウトサービスを使用してどのように行われますか?Angularjsでタイムアウト機能を使用してdivレイヤーを切り替えるにはどうすればよいですか?

[OK]を、私はショーと隠れイベントを$ 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。

「成功への道は、障害物で埋め尽くされています......でも成功! 未知の楽観主義者。

+0

あなたは 'Z-index'インラインスタイルを変更する意味ですか "アウト切り替える" ことで? https://docs.angularjs.org/api/ng/directive/ngStyleや 'ngClass'に' ngStyle'を使うことができます。あらかじめ定義されたスタイルがある場合はhttps://docs.angularjs.org/api/ng/directive/ ngClass –

+0

ng-showディレクティブを使用し、設定に応じてdivを表示/非表示にします。 –

答えて

0

あまりangularjs方法がありますが、可能性:

<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); 
}); 
+0

巧妙ですが、divを切り替えることはありません。私はshow/hideイベントを$ timeoutサービスと組み合わせることができれば、それは答えかもしれないと思っています。 –

+0

divスイッチでアニメーションをしたいですか? – Luxor001

+0

はい、角度のアニメートサービスやjqueryでこれを行うことができます。私はちょうど約10秒後に最初のdivレイヤーを表示して隠す必要があります。私のアプリでこれが機能するために必要なのは唯一の期間です。 –

関連する問題