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 autocomplete自动完成插件的的使用方法
Aug 07 Javascript
JavaScript的arguments对象应用示例
Sep 15 Javascript
详解JavaScript中数组的相关知识
Jul 29 Javascript
js实现数组冒泡排序、快速排序原理
Mar 08 Javascript
JavaScript中日期函数的相关操作知识
Aug 03 Javascript
PHP抓取HTTPS内容和错误处理的方法
Sep 30 Javascript
Angular2数据绑定详解
Apr 18 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
Jun 07 Javascript
JavaScript基于面向对象实现的猜拳游戏
Jan 03 Javascript
原生js实现淘宝放大镜效果
Oct 28 Javascript
JavaScript 监听组合按键思路及代码实现
Jul 28 Javascript
JS实现手风琴特效
Nov 08 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执行速度全攻略(下)
2006/10/09 PHP
php 修改zen-cart下单和付款流程以防止漏单
2010/03/08 PHP
PHP四舍五入、取整、round函数使用示例
2015/02/06 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
2015/11/24 PHP
Laravel5.4框架中视图共享数据的方法详解
2019/09/05 PHP
jQuery EasyUI 的EasyLoader功能介绍
2010/09/12 Javascript
基于datagrid框架的查询
2013/04/08 Javascript
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
2014/09/26 NodeJs
jQuery实现的输入框选择时间插件用法实例
2015/02/28 Javascript
JavaScript中Number.MIN_VALUE属性的使用示例
2015/06/04 Javascript
javascript实现禁止鼠标滚轮事件
2015/07/24 Javascript
js简单实现标签云效果实例
2015/08/06 Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
2016/05/30 Javascript
jquery实现左右轮播图效果
2017/09/28 jQuery
node.js中axios使用心得总结
2017/11/29 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
2018/01/09 Javascript
vue移动端UI框架实现QQ侧边菜单组件
2018/03/09 Javascript
在Vue中获取组件声明时的name属性方法
2018/09/12 Javascript
[42:20]2014 DOTA2华西杯精英邀请赛5 24 DK VS NewBee
2014/05/25 DOTA
[57:55]EG vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python的subprocess模块总结
2014/11/07 Python
实例介绍Python中整型
2019/02/11 Python
python 定时器每天就执行一次的实现代码
2019/08/14 Python
Python3 io文本及原始流I/O工具用法详解
2020/03/23 Python
CSS3教程(7):CSS3嵌入字体
2009/04/02 HTML / CSS
size?爱尔兰官方网站:英国伦敦的球鞋精品店
2019/03/31 全球购物
Liu Jo西班牙官网:意大利服装品牌
2019/09/11 全球购物
乌克兰第一的珠宝网上商店:Gold.ua
2019/11/29 全球购物
幼儿园消防演练方案
2014/02/13 职场文书
建筑施工安全生产责任书
2014/07/22 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
教师批评与自我批评心得体会
2014/10/16 职场文书
年度考核登记表个人总结
2015/03/06 职场文书
中标通知书格式
2015/04/17 职场文书
团结主题班会
2015/08/13 职场文书
CSS精灵图的原理与使用方法介绍
2022/03/17 HTML / CSS