angular 倒计时 只第一次暂停有效
效果:http://runjs.cn/detail/iyvy6dl7
打开后,第一次点stop是生效的,但开始后再点stop就无效了。
<div ng-controller="ListController">
{{ t }}
<p></p>
<button type="button" ng-click="stop()">stop</button>
<button type="button" ng-click="start()">start</button>
</div>
'use strict';
var myModule = angular.module("myModule",[])
.controller('ListController', ['$interval','$scope', function($interval, $scope){
var t, isPause, timePromise;
$scope.t = 100;
var runTiming = function(){
timePromise = $interval(function(){
$scope.t -= 1;
}, 1000, 100);
}
$scope.stop = function(){
if(angular.isDefined(timePromise)){
$interval.cancel(timePromise);
timePromise = undefined;
$scope.isPause = true;
}
}
$scope.start = function(){
if(angular.isDefined(timePromise)) return;
timePromise = runTiming();
$scope.isPause = false;
}
runTiming();
}])
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)