Angular.js中定时器循环的3种方法总结


Posted in Javascript onApril 27, 2017

本文主要设计定时器的三种循环,模板自配,下面分享给大家供大家参考,具体如下:

1、$interlval实现,比较简单和原生js的setInterval比较相似

var app = angular.module('myApp',[]);
app.run(function($rootScope , $interval){
 var img=["http://hdn.xnimg.cn/photos/hdn321/20130612/2235/h_main_NNN4_e80a000007df111a.jpg" ,"http://ww2.sinaimg.cn/crop.0.0.1080.1080.1024/d773ebfajw8eum57eobkwj20u00u075w.jpg","http://h.hiphotos.baidu.com/zhidao/pic/item/3812b31bb051f81991b9d8dbdcb44aed2f73e787.jpg"]
 var i = 0;
 var timer = $interval(function(){
  if(i >= img.length){
   i = 0;
  }
  $rootScope.imgSrc = img[i++];
 },1000)
});

2、$timeout的递归调用来实现

app.run(function($rootScope,$timeout){
 var img=["http://hdn.xnimg.cn/photos/hdn321/20130612/2235/h_main_NNN4_e80a000007df111a.jpg" ,"http://ww2.sinaimg.cn/crop.0.0.1080.1080.1024/d773ebfajw8eum57eobkwj20u00u075w.jpg","http://h.hiphotos.baidu.com/zhidao/pic/item/3812b31bb051f81991b9d8dbdcb44aed2f73e787.jpg"]
 var i = 0;
 $rootScope.c = 0;
 var loop = function(){
  $timeout(function(){
   if(i >= img.length){
    i = 0;
   }
   $rootScope.imgSrc=img[i++];
   loop();
   $rootScope.c += 1;
  },2000)
 };
 loop();
})

3、$timeout借助arguments.callee来实现

app.run(function($rootScope,$timeout){
 var img=["http://hdn.xnimg.cn/photos/hdn321/20130612/2235/h_main_NNN4_e80a000007df111a.jpg" ,"http://ww2.sinaimg.cn/crop.0.0.1080.1080.1024/d773ebfajw8eum57eobkwj20u00u075w.jpg","http://h.hiphotos.baidu.com/zhidao/pic/item/3812b31bb051f81991b9d8dbdcb44aed2f73e787.jpg"]
 var i = 0;
 $rootScope.c = 0;
 var loop = function(){
  $timeout(function(){
   if(i >= img.length){
    i = 0;
   }
   $rootScope.imgSrc=img[i++];
   loop();
   $rootScope.c += 1;
  },2000)
 };
 loop();
})

更多关于AngularJS相关内容感兴趣的读者可查看本站专题:《AngularJS入门与进阶教程》及《AngularJS MVC架构总结》 

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jQuery 1.0.2
Oct 11 Javascript
基于jquery的Repeater实现代码
Jul 17 Javascript
jquery实现的蓝色二级导航条效果代码
Aug 24 Javascript
javascript中tostring()和valueof()的用法及两者的区别
Nov 16 Javascript
温习Javascript基础语法之词法结构
May 31 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
Apr 22 Javascript
vue v-on监听事件详解
May 17 Javascript
Vue.js 时间转换代码及时间戳转时间字符串
Oct 16 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
Jul 18 Javascript
electron实现静默打印的示例代码
Aug 12 Javascript
JavaScript运动原理基础知识详解
Apr 02 Javascript
将Vue组件库更换为按需加载的方法步骤
May 06 Javascript
浅谈js使用in和hasOwnProperty获取对象属性的区别
Apr 27 #Javascript
微信小程序 wx:for的使用实例详解
Apr 27 #Javascript
微信小程序 动态传参实例详解
Apr 27 #Javascript
微信小程序 本地数据读取实例
Apr 27 #Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
Apr 27 #Javascript
js获取浏览器的各种属性
Apr 27 #Javascript
jQuery鼠标悬停内容动画切换效果
Apr 27 #jQuery
You might like
php和js交互一例-PHP教程,PHP应用
2007/01/03 PHP
php下统计用户在线时间的一种尝试
2010/08/26 PHP
深入探讨PHP中的内存管理问题
2011/08/31 PHP
解析csv数据导入mysql的方法
2013/07/01 PHP
php中多维数组按指定value排序的实现代码
2014/08/19 PHP
php数组操作之键名比较与差集、交集赋值的方法
2014/11/10 PHP
PHP滚动日志的代码实现
2015/06/10 PHP
Yii视图操作之自定义分页实现方法
2016/07/14 PHP
Javascript技术技巧大全(五)
2007/01/22 Javascript
javascript 子窗体父窗体相互传值方法
2010/05/31 Javascript
高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
2010/06/19 Javascript
Javascript倒计时代码
2010/08/12 Javascript
node.js中的fs.createWriteStream方法使用说明
2014/12/17 Javascript
JavaScript ES6中的简写语法总结与使用技巧
2018/12/30 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
Vue中实现权限控制的方法示例
2019/06/07 Javascript
Element Notification通知的实现示例
2020/07/27 Javascript
[02:03]完美世界DOTA2联赛10月30日赛事集锦
2020/10/31 DOTA
简单介绍Python中的RSS处理
2015/04/13 Python
深入解析Python中的lambda表达式的用法
2015/08/28 Python
Windows下Eclipse+PyDev配置Python+PyQt4开发环境
2016/05/17 Python
Python使用修饰器执行函数的参数检查功能示例
2017/09/26 Python
Django模板Templates使用方法详解
2019/07/19 Python
Python笔记之facade模式
2019/11/20 Python
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
巴西箱包、背包、钱包和旅行配件购物网站:Inovathi
2019/12/14 全球购物
JD Sports丹麦:英国领先的运动时尚零售商
2020/11/24 全球购物
Linux如何命名文件--使用文件名时应注意
2012/01/22 面试题
会议活动邀请函
2014/01/27 职场文书
运动会通讯稿400字
2014/01/28 职场文书
新学期决心书
2014/03/11 职场文书
《青蛙看海》教学反思
2014/04/23 职场文书
优秀求职信
2014/05/29 职场文书
标准演讲稿格式结尾应该怎么书写?
2019/07/17 职场文书
大学生,三分钟即兴演讲稿
2019/07/22 职场文书
css3中transform属性实现的4种功能
2021/08/07 HTML / CSS