oracle怎么写秒表,jQuery timers计时器简单应用说明

因为方便嘛,Jquery已封装JS的setTimeout 和 setInterval 方法,下面看下应用例子:

/**

* jQuery.timers - Timer abstractions for jQuery

* Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com)

* Licensed under the WTFPL (http://sam.zoy.org/wtfpl/).

* Date: 2009/10/16

*

* @author Blair Mitchelmore

* @version 1.2

*

**/

jQuery.fn.extend({

everyTime: function(interval, label, fn, times) {

return this.each(function() {

jQuery.timer.add(this, interval, label, fn, times);

});

},

oneTime: function(interval, label, fn) {

return this.each(function() {

jQuery.timer.add(this, interval, label, fn, 1);

});

},

stopTime: function(label, fn) {

return this.each(function() {

jQuery.timer.remove(this, label, fn);

});

}

});

jQuery.extend({

timer: {

global: [],

guid: 1,

dataKey: "jQuery.timer",

regex: /^([0-9]+(?:\.[0-9]*)?)\s*(.*s)?$/,

powers: {

// Yeah this is major overkill...

'ms': 1,

'cs': 10,

'ds': 100,

's': 1000,

'das': 10000,

'hs': 100000,

'ks': 1000000

},

timeParse: function(value) {

if (value == undefined || value == null)

return null;

var result = this.regex.exec(jQuery.trim(value.toString()));

if (result[2]) {

var num = parseFloat(result[1]);

var mult = this.powers[result[2]] || 1;

return num * mult;

} else {

return value;

}

},

add: function(element, interval, label, fn, times) {

var counter = 0;

if (jQuery.isFunction(label)) {

if (!times)

times = fn;

fn = label;

label = interval;

}

interval = jQuery.timer.timeParse(interval);

if (typeof interval != 'number' || isNaN(interval) || interval < 0)

return;

if (typeof times != 'number' || isNaN(times) || times < 0)

times = 0;

times = times || 0;

var timers = jQuery.data(element, this.dataKey) || jQuery.data(element, this.dataKey, {});

if (!timers[label])

timers[label] = {};

fn.timerID = fn.timerID || this.guid++;

var handler = function() {

if ((++counter > times && times !== 0) || fn.call(element, counter) === false)

jQuery.timer.remove(element, label, fn);

};

handler.timerID = fn.timerID;

if (!timers[label][fn.timerID])

timers[label][fn.timerID] = window.setInterval(handler,interval);

this.global.push( element );

},

remove: function(element, label, fn) {

var timers = jQuery.data(element, this.dataKey), ret;

if ( timers ) {

if (!label) {

for ( label in timers )

this.remove(element, label, fn);

} else if ( timers[label] ) {

if ( fn ) {

if ( fn.timerID ) {

window.clearInterval(timers[label][fn.timerID]);

delete timers[label][fn.timerID];

}

} else {

for ( var fn in timers[label] ) {

window.clearInterval(timers[label][fn]);

delete timers[label][fn];

}

}

for ( ret in timers[label] ) break;

if ( !ret ) {

ret = null;

delete timers[label];

}

}

for ( ret in timers ) break;

if ( !ret )

jQuery.removeData(element, this.dataKey);

}

}

}

});

jQuery(window).bind("unload", function() {

jQuery.each(jQuery.timer.global, function(index, item) {

jQuery.timer.remove(item);

});

});

JS Code

$("#close-button").click(function() {

$(this).oneTime(1000, function() {

$(this).parent(".main-window").hide();

});

});

$("#cancel-button").click(function() {

$("#close-button").stopTime();

});

jQuery Timers插件地址:

http://plugins.jquery.com/project/timers

下面来自JavaEye论坛的JQuery Timers应用知识

提供了三个函式

1. everyTime(时间间隔, [计时器名称], 函式名称, [次数限制], [等待函式程序完成])

2. oneTime(时间间隔, [计时器名称], 呼叫的函式)

3. stopTime ([计时器名称], [函式名称])

/*************************************************************

* everyTime(时间间隔, [计时器名称], 函式名称, [次数限制], [等待函式程序完成])

*************************************************************/

//每1秒执行函式test()

function test(){

//do something...

}

$('body').everyTime('1s',test);

//每1秒执行

$('body').everyTime('1s',function(){

//do something...

});

//每1秒执行,并命名计时器名称为A

$('body').everyTime('1s','A',function(){

//do something...

});

//每20秒执行,最多5次,并命名计时器名称为B

$('body').everyTime('2das','B',function(){

//do something...

},5);

//每20秒执行,无限次,并命名计时器名称为C

//若时间间隔抵到,但函式程序仍未完成则需等待执行函式完成后再继续计时

$('body').everyTime('2das','C',function(){

//执行一个会超过20秒以上的程式

},0,true);

/***********************************************************

* oneTime(时间间隔, [计时器名称], 呼叫的函式)

***********************************************************/

//倒数10秒后执行

$('body').oneTime('1das',function(){

//do something...

});

//倒数100秒后执行,并命名计时器名称为D

$('body').oneTime('1hs','D',function(){

//do something...

});

/************************************************************

* stopTime ([计时器名称], [函式名称])

************************************************************/

//停止所有的在$('body')上计时器

$('body').stopTime ();

//停止$('body')上名称为A的计时器

$('body').stopTime ('A');

//停止$('body')上所有呼叫test()的计时器

$('body').stopTime (test);

自定义时间单位

打开源代码

找到

powers: {

// Yeah this is major overkill...

'ms': 1,

'cs': 10,

'ds': 100,

's': 1000,

'das': 10000,

'hs': 100000,

'ks': 1000000

}

可以定制自己想要的了!

Stkcd [股票代码] ShortName [股票简称] Accper [统计截止日期] Typrep [报表类型编码] Indcd [行业代码] Indnme [行业名称] Source [公告来源] F060101B [净利润现金净含量] F060101C [净利润现金净含量TTM] F060201B [营业收入现金含量] F060201C [营业收入现金含量TTM] F060301B [营业收入现金净含量] F060301C [营业收入现金净含量TTM] F060401B [营业利润现金净含量] F060401C [营业利润现金净含量TTM] F060901B [筹资活动债权人现金净流量] F060901C [筹资活动债权人现金净流量TTM] F061001B [筹资活动股东现金净流量] F061001C [筹资活动股东现金净流量TTM] F061201B [折旧摊销] F061201C [折旧摊销TTM] F061301B [公司现金流1] F061302B [公司现金流2] F061301C [公司现金流TTM1] F061302C [公司现金流TTM2] F061401B [股权现金流1] F061402B [股权现金流2] F061401C [股权现金流TTM1] F061402C [股权现金流TTM2] F061501B [公司自由现金流(原有)] F061601B [股权自由现金流(原有)] F061701B [全部现金回收率] F061801B [营运指数] F061901B [资本支出与折旧摊销比] F062001B [现金适合比率] F062101B [现金再投资比率] F062201B [现金满足投资比率] F062301B [股权自由现金流] F062401B [企业自由现金流] Indcd1 [行业代码1] Indnme1 [行业名称1] 季度数据,所有沪深北上市公司的 分别包含excel、dta数据文件格式及其说明,便于不同软件工具对数据的分析应用 数据来源:基于上市公司年报及公告数据整理,或相关证券交易所、各部委、省、市数据 数据范围:基于沪深北证上市公司 A股(主板、中小企业板、创业板、科创板等)数据整理计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值