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 相关文章推荐
CSS JavaScript 实现菜单功能 改进版
Dec 09 Javascript
jQuery Clone Bug解决代码
Dec 22 Javascript
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
Jul 31 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
Mar 20 Javascript
JSON辅助格式化处理方法
Mar 26 Javascript
基于jquery实现的银行卡号每隔4位自动插入空格的实现代码
Nov 22 Javascript
Bootstrap CSS布局之表格
Dec 17 Javascript
PHP实现记录代码运行时间封装类实例教程
May 08 Javascript
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
Jun 13 Javascript
promise处理多个相互依赖的异步请求(实例讲解)
Aug 03 Javascript
Bootstrap实现的表格合并单元格示例
Feb 06 Javascript
运用js实现图层拖拽的功能
May 24 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 数组遍历方法大全(foreach,list,each)
2010/06/30 PHP
php判断是否连接上网络的方法实例详解
2016/12/14 PHP
php libevent 功能与使用方法详解
2020/03/04 PHP
js获取变量
2006/08/24 Javascript
按钮JS复制文本框和表格的代码
2011/04/01 Javascript
js弹出层之1:JQuery.Boxy (二)
2011/10/06 Javascript
javascript获取设置div的高度和宽度兼容任何浏览器
2013/09/22 Javascript
JQuery选择器、过滤器大整理
2015/05/26 Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
2016/06/21 Javascript
获取jqGrid中选择的行的数据
2016/11/30 Javascript
实现一个简单的vue无限加载指令方法
2017/01/10 Javascript
如何用js判断dom是否有存在某class的值
2017/02/13 Javascript
jQuery中过滤器的基本用法示例
2017/10/11 jQuery
C#实现将一个字符转换为整数
2017/12/12 Javascript
JavaScript new对象的四个过程实例浅析
2018/07/31 Javascript
详解如何快速配置webpack多入口脚手架
2018/12/28 Javascript
彻底揭秘keep-alive原理(小结)
2019/05/05 Javascript
layui use 定义js外部引用函数的方法
2019/09/26 Javascript
[05:26]TI10典藏宝瓶套装外观展示
2020/07/03 DOTA
python利用matplotlib库绘制饼图的方法示例
2016/12/18 Python
利用python 更新ssh 远程代码 操作远程服务器的实现代码
2018/02/08 Python
详解python里的命名规范
2018/07/16 Python
详解pandas安装若干异常及解决方案总结
2019/01/10 Python
详解Python读取yaml文件多层菜单
2019/03/23 Python
计算机二级python学习教程(1) 教大家如何学习python
2019/05/16 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
2020/03/30 Python
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
2016/05/09 HTML / CSS
GAP欧盟网上商店:GAP EU
2016/09/13 全球购物
意大利和国际最佳时尚品牌:Drestige
2019/12/28 全球购物
如何写一个Java类既可以用作applet也可以用作java应用
2016/01/18 面试题
畜牧兽医本科生个人的自我评价
2013/10/11 职场文书
运动会口号大全
2014/06/07 职场文书
关于运动会的广播稿(10篇)
2014/09/12 职场文书
nginx简单配置多个server的方法
2021/03/31 Servers
MySQL中order by的使用详情
2021/11/17 MySQL