angularJS:页面刷新时更改图像。 否则(如果没有刷新)想要在5秒内自动更改

这里创建了一个页面, 页面刷新时 图像更改 。 从这个SO问题在angularJS中的页面刷新时更改图像 。 现在我需要在5秒后自动 更改图像 ,这意味着页面刷新或图像不想更改。 如何通过实现以下代码来解决此问题。 请帮我…

if(!localStorage.getItem("uID")){ var s = {"id":1}; localStorage.setItem("uID", JSON.stringify(s)) } $scope.data = [{ "id": 1, "path": "Content/Banner/banner.jpg" }, { "id": 2, "path": "Content/Banner/banner1.jpg" }, { "id": 3, "path": "Content/Banner/banner2.jpg" }, { "id": 4, "path": "Content/Banner/banner3.jpg" }] var item = localStorage.getItem("uID") item = JSON.parse(item); var obj = $scope.data.find(function(o){ return o.id === item.id }) // add this lines $scope.image =(obj)? obj.path : "invalid id"; if(item.id == 4){ localStorage.removeItem("uIDs"); item.id = 0; } item.id = item.id +1 ; 

这是我的Html

   
{{image}}

这是工作的plunker https://plnkr.co/edit/5ONenuXOwi54b2V2MXMW?p=preview

您可以使用超时function在5秒后显示图像。

 init(); function init(){ for (var i=0;i<=$scope.data.length-1;i++) { setTime(i) } } function setTime(i){ $timeout(function(){ $scope.image = $scope.data[i].path; if (i == $scope.data.length-1) { init() } }, (5000 * i)); } 
 angular.module("app",[]) .controller("ctrl",function($scope,$timeout){ $scope.data = [{ "id": 1, "path": "Content/Banner/banner.jpg" }, { "id": 2, "path": "Content/Banner/banner1.jpg" }, { "id": 3, "path": "Content/Banner/banner2.jpg" }, { "id": 4, "path": "Content/Banner/banner3.jpg" }] init(); function init(){ for (var i=0;i<=$scope.data.length-1;i++) { setTime(i) } } function setTime(i){ $timeout(function(){ $scope.image = $scope.data[i].path; if (i == $scope.data.length-1) { init(); } }, (5000 * i)); } $scope.clear = function(){ debugger localStorage.removeItem("uIDs"); } }) 
  
{{image}}

如果我正确理解你的问题那么你正在寻找这个,

试试这个

        
{{image}}