今天写了一个时间计时器,就是当点击按钮时触发事件,获取当前时间,并且让时间实时变化,下面展示效果
首先是先初始化时间
function initDate(time) { var date = new Date(time), currentdate, detail; var year = date.getFullYear(); var month = date.getMonth() + 1; var strDate = date.getDate(); var h = date.getHours() var s = date.getSeconds() var m = date.getMinutes() //添0操作 if (month >= 1 && month <= 9) { month = "0" + month; } if (strDate >= 0 && strDate <= 9) { strDate = "0" + strDate; } if (s >= 0 && s <= 9) { s = "0" + s; } if (h >= 0 && h <= 9) { h = "0" + h; } if (m >= 0 && m <= 9) { m = "0" + m; } currentdate = year + '年' + month + '月' + strDate + '日'; detail = h + ':' + m + ':' + s; return {currentdate: currentdate, detail: detail} }
然后传进去一个当前的时间戳
var timer;
var res = initDate(new Date().getTime());
传进去之后就可以拿当前时间渲染页面了
$scope.nowDatas = res.currentdate;//渲染页面 $scope.nowHours = res.detail;
最后就是建一个计时器每隔一秒渲染一次页面
timer = setInterval(function () { var res = initDate(new Date().getTime()); $scope.nowDatas = res.currentdate; $scope.nowHours = res.detail; $scope.$apply();//重新加载dom//重绘dom }, 1000)
最后不用的时候记得销毁
clearInterval(timer);