JavaScript倒计时类
(function (){
var jtimer = function() {
// init
if(arguments.length >= 1) {
this.setEndTime(arguments[0]);
}
if(arguments.length >= 2) {
this.setGenerateCallBack(arguments[1]);
}
};
jtimer.prototype.setEndTime = function () {
if(arguments.length == 1) {
this.endTime = arguments[0]; // Date
}
}
jtimer.prototype.getMillisecond = function () {
return this.endTime.getTime() - new Date().getTime();
};
jtimer.prototype.setGenerateCallBack = function (callback) {
if(typeof callback == "undefined") return;
this.generateCallBack = callback;
}
jtimer.prototype.generate = function () {
if(typeof this.generateCallBack == "undefined") return;
var ms = this.getMillisecond();
this.generateCallBack(
Math.floor(ms/(1000 * 60 * 60 * 24)),
Math.floor(ms/(1000*60*60)) % 24,
Math.floor(ms/(1000*60)) % 60,
Math.floor(ms/1000) % 60
);
};
jtimer.prototype.start = function () {
var delay = 1000;
if(arguments.length == 1) {
delay = arguments[0];
}
_this = this; // for closure
this.interval = window.setInterval(
function() {
_this.generate();
}, delay);
}
jtimer.prototype.stop = function () {
if(typeof this.interval == "undefined") return;
window.clearInterval(this.interval);
this.interval = undefined;
}
window.jtimer = jtimer;
})();
var jt = new jtimer(new Date("6/27/2016"), function (day, hour, min, sec) {
console.log(day + "," + hour + "," + min + "," + sec);
});
jt.start(1000);
JavaScript倒计时类的更多相关文章
- 详解javascript的类
前言 生活有度,人生添寿. 原文地址:详解javascript的类 博主博客地址:Damonare的个人博客 Javascript从当初的一个"弹窗语言",一步步发展成为现在前后端 ...
- Javascript定义类(class)的三种方法
将近20年前,Javascript诞生的时候,只是一种简单的网页脚本语言.如果你忘了填写用户名,它就跳出一个警告. 如今,它变得几乎无所不能,从前端到后端,有着各种匪夷所思的用途.程序员用它完成越来越 ...
- Atitit.javascript 实现类的方式原理大总结
Atitit.javascript 实现类的方式原理大总结 1. 实现类的式::构造方法方式:原型方式:构造方法+原型的混合方式 1 2. 原型方式(function mode)经典式..实现属性推荐 ...
- Android中方便好用的倒计时类
一.使用api提供的类进行操作 Android提供了CountDownTimer来让我们进行倒计时,可以让我们很方便的进行倒计时的操作.使用方式也很简单,下面直接贴代码就好了: package ...
- [转]Javascript定义类的三种方法
作者: 阮一峰 原文地址:http://www.ruanyifeng.com/blog/2012/07/three_ways_to_define_a_javascript_class.html 将近2 ...
- Android基础之CountDownTimer 倒计时类
app常用的60s倒计时计时功能: private static final int TIME_LIMIT = 60; private void initView() { // 相关控件 mResen ...
- javascript 定义类(转载)
Javascript本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的extend或冒号,它也没有用来支持虚函数的virtual,不过,Javascript是一门 ...
- javascript定义类和类的实现
首先说说类,在一个类里我们会有以下的几个特征: 1. 公有方法 2. 私有方法 3. 属性 4. 私有变量 5. 析构函数 我们直接看一个例子: /***定义类***/ var Class = fun ...
- javascript创建类的6种方式
javascript创建类的7种方式 一 使用字面量创建 1.1 示例 var obj={}; 1.2 使用场景 比较适用于临时构建一个对象,且不关注该对象的类型,只用于临时封装一次数据,且不适合代码 ...
随机推荐
- BZOJ3545 Peaks 离线处理+线段树合并
题意: 在Bytemountains有N座山峰,每座山峰有他的高度h_i.有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越难走,现在有Q组询问,每组询问询问从点v开始只经 ...
- mybatis传多个参数(不使用@param注解情况下),3.4.2版本之后出现#{0}-#{n}参数绑定异常
解决方案: 在mybatis配置文件中声明setting属性的useActualParamName 参数值为false ** 这种方法解决mybatis3.4.2之后的版本产生该问题的解决方法**
- LINUX:Contos7.0 / 7.2 LAMP+R 下载安装Apache篇
文章来源:http://www.cnblogs.com/hello-tl/p/7568803.html 更新时间:2017-09-21 15:38 简介 LAMP+R指Linux+Apache+Mys ...
- UART整理
通用异步收发器简称UART,英文全称"Universal Asynchronous Receiver Transmitter".UART使用标准的TTL/CMOS逻辑电平(0~5V ...
- java 几种拼接字符串的效率问题
拼接字符串,大致有3个class可以用,他们是String, StringBuffer,StringBuilder, StringBuilder是1.5中来代替StringBuffer的.检验方法如下 ...
- 确定协议-通过分析系统阶段需要知道该系统能不能进行性能测试-Omnipeek
- 九度oj 题目1052:找x
题目1052:找x 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:9901 解决:5098 题目描述: 输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标 ...
- 营救(洛谷 P1396)
题目描述 “咚咚咚……”“查水表!”原来是查水表来了,现在哪里找这么热心上门的查表员啊!小明感动的热泪盈眶,开起了门…… 妈妈下班回家,街坊邻居说小明被一群陌生人强行押上了警车!妈妈丰富的经验告诉她小 ...
- 子集和的目标值(codevs 1692)
题目描述 Description 给定n个整数in和目标值T,求某一非空子集使 子集的元素的和 与 目标值之差 的绝对值最小,元素可重复 输入描述 Input Description 第一行为整数n ...
- Codeforces713D. Animals and Puzzle
$n<=1000,m<=1000$,$n*m$的01矩阵,给$t<=1000000$个询问,每次问一个矩形中最大的1正方形的边长. 先想想不考虑“一个矩形中”的限制,那记$f(i,j ...