0
我正在使用AngularJS构建一个webapp,并试图创建一个过渡动画。按下按钮时,内容将淡出超过200毫秒,更改为新内容,然后再次在200毫秒内淡入。下面是通过在按钮上单击调用的函数。AngularJS用超时等待函数在继续之前完成
$scope.homeButton = function(){
\t fadeOut();
\t $scope.content="dolor sit amet";
\t fadeIn();
\t resetButtons();
\t $scope.homeButtonSrc = "res/homebuttonselected.png";
};
然而,当函数被调用时,内容立即更改,然后淡出。再次单击按钮可在淡入和淡出动画之间来回切换。下面显示了fadeIn()和fadeOut()。
var fadeOut = function fadeOut(){
\t var countDown = function(){
\t \t $scope.contentOpacity -= .01;
\t \t if($scope.contentOpacity > 0){
\t \t \t $timeout(countDown, 2);
\t \t }
\t }
\t $timeout(countDown, 2);
}
var fadeIn = function fadeIn(){
\t var countUp = function(){
\t \t $scope.contentOpacity += .01;
\t \t if($scope.contentOpacity < 1){
\t \t \t $timeout(countUp, 2);
\t \t }
\t }
\t $timeout(countUp, 2);
}
任何帮助,将不胜感激!
非常感谢你,这工作几乎完美!我在写作时遇到了一些问题。我最终从countUp()和countDown()的初始调用中除去了timeOut,并在这些函数中添加了返回值$ timeout,并解决了这个问题。我一定会看看ng-animate文档,谢谢。 – RyanM