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 相关文章推荐
JSON 编辑器实现代码
Dec 06 Javascript
jQuery中获取Radio元素值的方法
Jul 02 Javascript
js实现checkbox全选和反选示例
May 01 Javascript
js禁止页面刷新与后退的方法
Jun 08 Javascript
JavaScript中string对象
Jun 12 Javascript
jQuery实现的仿百度分页足迹效果代码
Oct 30 Javascript
微信小程序 devtool隐藏的秘密
Jan 21 Javascript
angular.fromJson与toJson方法用法示例
May 17 Javascript
React操作真实DOM实现动态吸底部的示例
Oct 23 Javascript
nginx+vue.js实现前后端分离的示例代码
Feb 12 Javascript
angularJs复选框checkbox选中进行ng-show显示隐藏的方法
Oct 08 Javascript
前端开发之便利店收银系统代码
Dec 27 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
如何取得中文字符串中出现次数最多的子串
2013/08/08 PHP
PHP单例模式简单用法示例
2017/06/23 PHP
PHP数组常用函数实例小结
2018/08/20 PHP
PHP使用OB缓存实现静态化功能示例
2019/03/23 PHP
jquery的Tooltip插件 qtip使用详细说明
2010/09/08 Javascript
stream.js 一个很小、完全独立的Javascript类库
2011/10/28 Javascript
JavaScript获取/更改文本框的值的实例代码
2013/08/02 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
BootStrap初学者对弹出框和进度条的使用感觉
2016/06/27 Javascript
plupload+artdialog实现多平台上传文件
2016/07/19 Javascript
详细探究ES6之Proxy代理
2016/07/22 Javascript
angular分页指令操作
2017/01/09 Javascript
react-native之ART绘图方法详解
2017/08/08 Javascript
jquery ajax异步提交表单数据的方法
2017/10/27 jQuery
原生js代码能实现call和bind吗
2019/07/31 Javascript
JS如何在不同平台实现多语言方式
2020/07/16 Javascript
手写Vue源码之数据劫持示例详解
2021/01/04 Vue.js
基于Vue2实现移动端图片上传、压缩、拖拽排序、拖拽删除功能
2021/01/05 Vue.js
Python的Django框架中forms表单类的使用方法详解
2016/06/21 Python
使用Python实现毫秒级抢单功能
2019/06/06 Python
Python中判断子串存在的性能比较及分析总结
2019/06/23 Python
python暴力解压rar加密文件过程详解
2019/07/05 Python
使用Python实现牛顿法求极值
2020/02/10 Python
anaconda3安装及jupyter环境配置全教程
2020/08/24 Python
python 删除系统中的文件(按时间,大小,扩展名)
2020/11/19 Python
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
Fanatics法国官网:美国体育电商
2019/08/27 全球购物
如何进行Linux分区优化
2013/02/12 面试题
区域销售经理职责
2013/12/22 职场文书
社区包粽子活动方案
2014/01/21 职场文书
创先争优制度
2014/01/21 职场文书
《白鹅》教学反思
2014/04/13 职场文书
初中生操行评语大全
2014/04/24 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
小学数学教学反思范文
2016/02/16 职场文书