如何每隔x秒从数组中获取随机对象

时间:2015-02-19 20:24:26

标签: angularjs

我想每隔x秒随机显示一张图片。

我有一系列图片:

$scope.image = [{'imageUrl': 'img/1.jpg'},... {'imageUrl': 'img/10.jpg'}];

   $scope.random = function() {
    $interval(function() {
    return 0.5 - Math.random();
     }, 1000);
    };

和html:

   <div ng-repeat="image in image | orderBy: random | limitTo: 1">
      <img ng-src="{{image.imageUrl}}" class="thumb-modal">
   </div>

1 个答案:

答案 0 :(得分:0)

您需要生成一个从0到数组长度的整数,然后使用此索引在数组中选择一个图像。见例:

$scope.images = [{'imageUrl': 'img/1.jpg'},... {'imageUrl': 'img/10.jpg'}];

$interval(function() {
  var randomIndex = Math.round( Math.random() * ($scope.images.length-1) );
  $scope.image = $scope.images[randomIndex];
}, 1000)

在你的HTML中:

<img ng-src="{{image.imageUrl}}" class="thumb-modal">

不需要ng-repeat,因为您只显示一个图像!