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 相关文章推荐
js限制文本框只能输入数字(正则表达式)
Jul 15 Javascript
FusionCharts图表显示双Y轴双(多)曲线
Nov 22 Javascript
JS弹出窗口代码大全(详细整理)
Dec 21 Javascript
Jquery如何实现点击时高亮显示代码
Jan 22 Javascript
PHPExcel中的一些常用方法汇总
Jan 23 Javascript
Javascript中 带名 匿名 箭头函数的重要区别(推荐)
Jan 29 Javascript
Vue中的v-cloak使用解读
Mar 27 Javascript
基于JavaScript实现淘宝商品广告效果
Aug 10 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
Mar 15 Javascript
VUE中使用MUI方法
Feb 12 Javascript
angular8.5集成TinyMce5的使用和详细配置(推荐)
Nov 16 Javascript
JavaScript前端面试扁平数据转tree与tree数据扁平化
Jun 14 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
zend Framework中的Layout(模块化得布局)详解
2013/06/28 PHP
ajax返回值中有回车换行、空格的解决方法分享
2013/10/24 PHP
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
2014/07/22 PHP
php类的自动加载操作实例详解
2016/09/28 PHP
通过JS 获取Mouse Position(鼠标坐标)的代码
2009/09/21 Javascript
JS模拟的QQ面板上的多级可展开的菜单
2009/10/10 Javascript
再论Javascript下字符串连接的性能
2011/03/05 Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
2012/02/27 Javascript
使用UglifyJS合并/压缩JavaScript的方法
2012/03/07 Javascript
JQueryEasyUI datagrid框架的基本使用
2013/04/08 Javascript
JavaScript中的this,call,apply使用及区别详解
2016/01/29 Javascript
jquery实现一个简单的表单验证实例
2016/03/30 Javascript
在Html中使用Requirejs进行模块化开发实例详解
2016/04/15 Javascript
js模式化窗口问题![window.dialogArguments]
2016/10/30 Javascript
vue实现一个移动端屏蔽滑动的遮罩层实例
2017/06/08 Javascript
JavaScript简介_动力节点Java学院整理
2017/06/26 Javascript
vue.js使用3DES加密的方法示例
2018/05/18 Javascript
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
Vue中通过属性绑定为元素绑定style行内样式的实例代码
2020/04/30 Javascript
Windows和Linux下使用Python访问SqlServer的方法介绍
2015/03/10 Python
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
把csv文件转化为数组及数组的切片方法
2018/07/04 Python
django的分页器Paginator 从django中导入类
2019/07/25 Python
Python tkinter实现日期选择器
2021/02/22 Python
python实现不同数据库间数据同步功能
2021/02/25 Python
css3.0 图形构成实例练习一
2013/03/19 HTML / CSS
HTML5新标签兼容——> 的两种方法
2018/09/12 HTML / CSS
微软巴西官方网站:Microsoft Brasil
2019/09/26 全球购物
安全标语口号
2014/06/09 职场文书
安全环保演讲稿
2014/08/28 职场文书
党员进社区活动总结
2015/05/07 职场文书
焦点访谈观后感
2015/06/11 职场文书
Vue3.0 手写放大镜效果
2021/07/25 Vue.js
Win11 Build 22000.51版本文件资源管理器“命令栏”和上下文菜单有什么新变化?
2021/11/21 数码科技
python playwright 自动等待和断言详解
2021/11/27 Python