angularjs使用directive实现倒计时按钮
前不久在做一个彩票的项目时,有一个手动开奖的需求。所以有了这个倒计时按钮。下面分享下具体的代码:
效果:

代码:
App.directive('timerBtn', function() { // 倒计时按钮
    return {
        restrict: 'A',
        replace: true,
        scope: {
            startTime: '=startTime',
            getData: '&getData'
        },
        template: '<button class="btn btn-danger" style="border-radius: 30px;padding: 3px 16px;" ng-disabled="startTime> 0" ng-bind="startTime > 0 ? showTime + \' 后开奖\' : \'手动开奖\'" ng-click="getData()"></button>',
        controller: function($scope, $interval) {
            var formatTime = function(second) {
                return [parseInt(second / 60 / 60), parseInt(second / 60 % 60), second % 60].join(":")
                    .replace(/\b(\d)\b/g, "0$1");
            }
            var timer = $interval(function() {
                $scope.startTime -= 1;
                $scope.showTime = formatTime($scope.startTime);
                if($scope.startTime < 1) {
                    $interval.cancel(timer);
                };
            }, 1000);
        }
    };
});
这个组件接受两个参数:
startTime:用于接收倒计时开始时间的时间戳
getData:用于接收倒计时结束之后触发的函数 用法:
<div timer-btn start-time="time" get-data="getData()"></div>
angularjs使用directive实现倒计时按钮的更多相关文章
- 前端angularJS利用directive实现移动端自定义软键盘的方法
		最近公司项目的需求上要求我们iPad项目上一些需要输入数字的地方用我们自定义的软键盘而不是移动端设备自带的键盘,刚接到需求有点懵,因为之前没有做过,后来理了一下思路发现这东西也就那样.先看一下实现之后 ... 
- AngularJS之directive
		AngularJS之directive AngularJS是什么就不多舌了,这里简单介绍下directive.内容基本上是读书笔记,所以如果你看过<AngularJS up and runnin ... 
- Angularjs之directive指令学习笔记(二)
		1.Directive的五个实例知道driective作用.其中字段restrict.template. replace.transclude.link用法 参考文章链接地址:http://damoq ... 
- iOS 短信验证码倒计时按钮的实现
		验证码倒计时按钮的应用是非常普遍的,本文介绍了IOS实现验证码倒计时功能,点击获取验证码,进入时间倒计时,感兴趣的小伙伴们可以参考一下: 实现思路: 创建按钮,添加点击方法: 用NSTimer定时器, ... 
- delphi倒计时按钮写法
		procedure TForm1.FormActivate(Sender: TObject); var i: Integer; begin btn8.Enabled:=False; do begin ... 
- jquery倒计时按钮常用于验证码倒计时
		<!doctype html><html><head> <meta charset="utf-8"> <title>jq ... 
- Angularjs的directive封装ztree
		一般我们做web开发都会用到树,恰好ztree为我们提供了多种风格的树插件. 接下来就看看怎么用Angularjs的directive封装ztree <!DOCTYPE html> < ... 
- angularJS中directive父子组件的数据交互
		angularJS中directive父子组件的数据交互 1. 使用共享 scope 的时候,可以直接从父 scope 中共享属性.使用隔离 scope 的时候,无法从父 scope 中共享属性.在 ... 
- React实战之60s倒计时按钮(发送短信验证按钮)
		React实战之60s倒计时按钮——短信验证按钮 导入:(antd组件——Form表单) import { Button, Form, Input } from 'antd'; const FormI ... 
随机推荐
- ajax切换明星头像!
			html部分: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ... 
- HDU4536 XCOM Enemy Unknown(dfs)
			题目链接. 分析: 用dfs枚举每一波攻击的三个国家. 很暴力,但没想到0ms. #include <iostream> #include <cstdio> #include ... 
- POJ3041 Asteroids(二分图最大匹配)
			题目链接. 分析: 暂略. AC代码: #include <iostream> #include <cstdio> #include <cstring> #incl ... 
- 王学长的LCT标程
			善良的王学长竟然亲自打了一遍QAQ好感动QAQ #include<iostream> #include<cstdio> #include<cmath> #inclu ... 
- BZOJ1596: [Usaco2008 Jan]电话网络
			1596: [Usaco2008 Jan]电话网络 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 513 Solved: 232[Submit][S ... 
- spring3.1的BeanFactory与Quartz1.8整合
			spring的applicationContext.xml配置文件: 加入 <bean id="myJob" class="org.springframework. ... 
- Jenkins配置Java项目1(Java+Maven+Tomcat)
			先收集几个网址,后续再自己动手过一遍 http://www.cnblogs.com/sunzhenchao/archive/2013/01/30/2883289.html https://my.osc ... 
- homebrew介绍
			对于一个习惯了在 Ubuntu 的终端上通过 apt-get 来安装工具软件的我来说,也希望在Mac上找到类似的工具,能很方便的一条命令就能安装所需的软件,而不用手工的去查找下载编译,或者是折腾安装所 ... 
- JSP元素和标签
			1.JSP 的运行原理 当服务器上的一个JSP 页面被第一次请求执行时,服务器上的JSP引擎首先将JSP 页面文件转译成一个java 文件,再将这个java 文件 编译生成字节码文件,然后通过执行字 ... 
- XTU1199:Number Game
			题目描写叙述 给你一个有N个数的集合S和一个数X,推断是否存在S的一个子集,子集里的数的最小公倍数正好是X. 输入 第一行是数据组数T. 接下来有多组数据,每组数据包括两行: 第一行有2个数N和X,1 ... 
