DDR爱好者之家 Design By 杰米
本文实例讲述了Angular2实现的秒表及改良版。分享给大家供大家参考,具体如下:
初版
代码:
export class Watches { id: number; str: string; } export let watcheList: Watches[] = [{ id: 0, str: '123456' }, { id: 1, str: '564822' }] //watchList 是一个静态类 watchList = watcheList; watchStr: string; //判断是否是第一次点击startWatch num: number = 0; //分 秒 毫秒 minute: number = 0; second: number = 0; millisecond: number = 0; //临时变量 存储计次时的时间,后加入watcheList数组 temp= { id: 0, str: '0' }; //定时器的名字 inter: any; constructor() { } resetWatch() { //清零 this.millisecond = 0; this.second = 0; this.minute = 0; this.temp.str = '000000'; watcheList.length = 0; } timer() { //每隔43ms,调用该函数,所以增加43 this.millisecond = this.millisecond + 43; if (this.millisecond >= 1000) { this.millisecond = 0; this.second = this.second + 1; } if (this.second >= 60) { this.second = 0; this.minute = this.minute + 1; } //当小于10是,在前面加一个0,形式则变为00:00:00 this.watchStr = (this.minute > 10 "htmlcode">// 秒表 export class Watches { id: number; value: number; } export let watcheList: Watches[] = [] export class StopwatchComponent { //导入的静态类 watchList = watcheList; //临时变量,用来存贮计次时的时间 temp: number; //判断startWatch是第一次开始,还是计次 num: number = 0; //开始时间 startTime: number; //当前时间 nowTime: number; //时间差 timerRunner: number = 0; //interval函数的名称 inter: any; constructor() { } resetWatch() { //清零 this.timerRunner = 0; this.watchList.length = 0; } startWatch(event) { this.temp = this.timerRunner; //开始计时的时间 this.startTime = Date.now(); this.num = this.num + 1; if (this.num > 1) { //当前状态为计时,将计时的数据加入进watchList let watchObj: Watches = { id: 0, value: 0 } watchObj.id = this.watchList.length; watchObj.value = this.timerRunner; this.watchList.push(watchObj); } else { this.inter = setInterval(() => { this.nowTime = Date.now(); this.timerRunner = this.temp + this.nowTime - this.startTime; }, 43); } } stopWatch(event) { this.num = 0; if (this.inter) { clearInterval(this.inter); } } }原理:当第一次点击startWatch时,获取当前时间作为开始时间,并每43ms触发定时器,获取最新时间。时间差则为最新时间减去开始时间
PS:这里再为打击推荐一款功能相似的在线工具供大家参考:
在线秒表工具:
http://tools.jb51.net/bianmin/miaobiao
更多关于AngularJS相关内容感兴趣的读者可查看本站专题:《AngularJS指令操作技巧总结》、《AngularJS入门与进阶教程》及《AngularJS MVC架构总结》
希望本文所述对大家AngularJS程序设计有所帮助。
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米
暂无评论...
更新日志
2024年11月25日
2024年11月25日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]