2

我想让一个 div 在页面加载后 10 秒出现。我想使用角度。

<div class="appearingitem" ng-show="timeduration"></div>

任何想法我可以如何做到这一点?有没有办法在设定的时间后触发,比如说一个功能?我觉得这应该很容易,我试过用谷歌搜索,但由于我是编程新手,我不知道我在找什么

谢谢

4

4 回答 4

1

$timeouttimeout在这种情况下,将通过以毫秒为单位在回调中执行所需的代码来帮助您。

代码

$scope.timeduration = true; //showing some element
$timeout(function(){
    $scope.timeduration = false; //hiding after 10 secs
}, 10000);

确保在使用之前应该注入$timeout对控制器工厂函数的依赖。

于 2016-03-23T12:47:49.790 回答
1
angular.module('app', []).
factory('timeduration',function($timeout,$q){
    var timeduration = false;            
    $timeout(function(){//Simulate a request
        timeduration = true;
    },2000);
    return timeduration;
}).
controller('root',function($scope,timeduration){

    $scope.timeduration = timeduration;

});

<div class="appearingitem" ng-show="timeduration">
      // which you want to show here after delay
</div>

div 显示 2 秒后你可以改变你的时间,而不是你想要的 2000。

希望它对你有所帮助。

于 2016-03-23T12:48:44.390 回答
0

使用 $timeout 服务:

https://docs.angularjs.org/api/ng/service/$timeout

$scope.showItem = false
$timeout(function(){
  $scope.showItem = true;
}, 10000); // Time in ms
于 2016-03-23T12:47:51.360 回答
0

尝试这个

   $scope.display = function(){
     $scope.timeduration=false; 
     $timeout(function () {
        $scope.timeduration= true;
      }, 10000); 
  }
于 2016-03-23T12:47:57.247 回答