jq 如何写某个点击事件在规定时间才生效

jq 如何写某个点击事件在规定时间才生效,第1张

问题分析:

想要在一定时间内,事件回调函数仅执行一次,需要在外部做一个计时器变量。当进入事件的回调函数时,启动这个计时器,倒计时N秒后,计时器自动关闭。

每次进入事件回调函数的时候都要判断这个计时器是否为启动状态,如果是启动状态,直接跳出不执行事件即可。

举例如下:

案例为一个按钮的点击事件,最少10秒可执行一次,如果允许执行将提醒“按钮事件被触发”,如果不允许执行将提醒“目前按钮事件不允许被触发”。

HTML代码:

<button>这是一个按钮</button>

jQuery代码:

var time = 0;$('button')click(function() {    //判断计时器是否处于关闭状态    if (time == 0) {        time = 10; //设定间隔时间(秒)         //启动计时器,倒计时time秒后自动关闭计时器。        var index = setInterval(function(){            time--;            if (time == 0) {                clearInterval(index);            }        }, 1000);         alert('按钮事件被触发');    }else{        alert('目前按钮事件不允许被触发');    }});

首次点击按钮的结果:

在10秒内再次点击按钮的结果:

《开荒岛民第二季》百度网盘高清资源免费在线观看:

 "张三",imageOffset: {width:0,height:3} , point: "115809905,2925332", address: "共青城", tel: "" } ,

                    { title: "张三",imageOffset: {width:0,height:3} , point: "11345208,2310967", address: "广州天河区黄村", tel: "" } ,

                    { title: "张三",imageOffset: {width:0,height:3} , point: "115941854,28674492", address: "南昌", tel: "" } ,

                    { title: "张三",imageOffset: {width:0,height:3} , point: "116647832,39907028", address: "北京", tel: "" } ,

                    { title: "张三",imageOffset: {width:0,height:3} , point: "113968664,22575749", address: "深圳", tel: "" }

                ];

                var markers=[];

var init = function() {

    var center = new qqmapsLatLng(29469459,116051127);

var map = new qqmapsMap(documentgetElementById('container'),{

center: center,

zoom: 6

});

    for (var i = 0; i < markerArrlength; i++) {  

var p0 = markerArr[i]pointsplit(",")[0];  

var p1 = markerArr[i]pointsplit(",")[1];

var marker = new qqmapsMarker({

map: map,

position: new qqmapsLatLng(p1,p0)

});

    markersetTitle(markerArr[i]address)

markerspush(marker);

     }

     

     for (var i = markerslength - 1; i >= 0; i--) {

       var marker=markers[i]

   qqmapseventaddListener(marker, 'click', function() {

   //通过this调用对应的marker

   var lat=thisgetPosition()lat

   var lng=thisgetPosition()lng

 infoopen(); 

 infosetContent('<div style="width:100px;height:100px; text-align:center;white-space:nowrap;margin:10px;">'+thisgetTitle()+'</div>');

 infosetPosition(new qqmapsLatLng(lat,lng)); 

 //consolelog(thisgetTitle())

 });

 }; consolelog(' addListener')

 var info = new qqmapsInfoWindow({

 map: map

 });

 

 consolelog('init map')

}

天干地支简称“干支”,取义于树木的干和枝 天干有十:甲、乙、丙、丁、戊(wù)、己、庚、辛、壬(rén)、癸(guǐ); 地支十二:子、丑、寅、卯(mǎo)、辰(chén)、巳(sì)、午、未(wèi)、申、酉(yǒu)、戌(xū)、亥。 天干地支组合成如下六十个计时序号,作为纪年、月、日、时的名称,叫“干支纪年法”。 编辑本段六十甲子顺序 1 ~10 甲子 乙丑 丙寅 丁卯 戊辰 己巳 庚午 辛未 壬申 癸酉 11~20 甲戌 乙亥 丙子 丁丑 戊寅 己卯 庚辰 辛巳 壬午 癸未 21~30 甲申 乙酉 丙戌 丁亥 戊子 己丑 庚寅 辛卯 壬辰 癸巳 31~40甲午 乙未 丙申 丁酉 戊戌 己亥 庚子 辛丑 壬寅 癸卯 41~50甲辰 乙巳 丙午 丁未 戊申 己酉 庚戌 辛亥 壬子 癸丑 51 ~60甲寅 乙卯 丙辰 丁巳 戊午 己未 庚申 辛酉 壬戌 癸亥 用六十甲子依次纪年,六十年一个轮回。干支纪年法的新一年由立春开始,2009年的立春是二月四日,所以2009年2月4日立春之后才是己丑年,在此之前应是戊子年。公元纪年的一年以立春为界前后分属不同的干支纪年,这一点不熟悉的人容易搞错,应特别注意。 编辑本段与公元纪年的换算 第一种算法: 如何将公元纪年换算成干支纪年: 不同资料算法有所差异,有的给出公式,但本质上是一回事。这里介绍一种简易直观的算法。 首先给每个天干、地支一个编号,从头以4开始循序排下去,天干10后接1,。地支12后接1。 天干:甲4、乙5、丙6、丁7、戊8、己9、庚10、辛1、壬2、癸3 地支:子4、丑5、寅6、卯7、辰8、巳9、午10、未11、申12、酉1、戌2、亥3 以公元年的尾数在天干中找出对应该尾数的天干,再将公元纪年除以12,用除不尽的余数在地支中查出对应该余数的地支,这样就得到了公元纪年的干支纪年。如2003年,其尾数为3,对应的天干为“癸”;以12除2003得166,余数为11,对应的地支为未。于是2003年的干支纪年为“癸未”年。注意这是指2003年立春之后,立春之前应是“壬午”年。赵达先生在“祭文”中指出的时间是“癸未清明”,清明是立春之后的第四个节气(立春、雨水、惊蛰、春分、清明),所以赵先生说岁在癸未,而非壬午。 第二种算法: 1 天干算法:用公元纪年数减3,除以10(不管商数)所得余数,就是天干所对应的位数; 2 地支算法:用公元纪年数减3,除以12(不管商数)所得余数,就是地支所对应的位数; 天干:甲、乙、丙、丁、戊、已、庚、辛、壬、癸 地支:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥 例1 我们以2010年为例; 天干算法: 2010-3=2007, 2007/10=200余7, 7对应天干第7位是庚,即天干为庚; 地支算法: 2010-3=2007, 2007/12=167余3, 3对应地支第3位是寅,即地支为寅; 综上公元2010是用天干地支纪年为庚寅年。为使各位信任此算法,本人再举一例来说明: 例2 我们再以1987年为例; 天干算法: 1987-3=1984, 1984/10=198余4, 4对应天干第4位是丁,即天干为丁; 地支算法: 1987-3=1984, 1984/12=165余4, 4对应地支第4位是卯,即地支为卯; 综上公元1987是用天干地支纪年为丁卯年。 第三种算法: 首先,将天干、地支编号如下: 天干:甲、乙、丙、丁、戊、已、庚、辛、壬、癸 4 5 6 7 8 9 10 1 2 3 地支:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥 4 5 6 7 8 9 10 11 12 1 2 3 如要将公元纪年换算成干支纪年,以公元年的尾数在天干中找出相对应。然后,将公元纪年除以12,用余数在地支中找出所对应的地支。这样,公元纪年就换算成了干支纪年。 如:公元1995年 用该年尾数5找出对应的天干为“乙”;然后,用1995除以12得余数为3,用余数3找出相对应的地支为“亥”。 那么,公元1995年则为农历乙亥年。 再如:公元1861年 用尾数1查天干为“辛”,用1861除以12得余数为1,再用余数1查找地支为“酉”。那么,公元1861年则为农历辛酉年。 如果某一年的尾数为0或者用该年除以12的余数为0,则取天干中的第10位“庚”和地支中的第12位“申”。 如:公元120年 尾数0则取天干中的“庚”;除以12余数为0,则取地支中的第12位“申”。 那么,公元120年则为庚申年。 如果公元纪年是单个数字,就用该数字在天干、地支中查找即可。如:公元6年,则在天干、地支中找出6相对应的“丙”和“寅”,那么该年则为丙寅年。公元8年则为戊辰年。 公元11年,则取尾数1对应的天干中的“辛”和11对应的地支中的“未”。那么,该年则为辛未年。 公元12年则为壬申年。 公元前纪年与干支纪年的换算 将天干、地支编号如下: 天干:甲、乙、丙、丁、戊、已、庚、辛、壬、癸 7 6 5 4 3 2 1 10 9 8 地支:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥 9 8 7 6 5 4 3 2 1 12 11 10 具体换算方法同一 如:公元前155年 用尾数5取天干中的“丙”; 155除以12得余数11,对应地支中的“戌”。那么,该年则为丙戌年。 公元前8年则为癸丑年 天干地支纪月 干支纪月时,每个地支对应二十四节气自某节气(非中气)至下一个节气,以交节时间决定起始的一个月期间,不是农历某月初一至月底。许多历书注明某农历月对应某干支,只是近似而非全等对应。若遇甲或己的年份,正月大致是丙寅;遇上乙或庚之年,正月大致为戊寅;丙或辛之年正月大致为庚寅,丁或壬之年正月大致为壬寅,戊或癸之年正月大致为甲寅。依照正月之干支,其余月份按干支推算。60个月合5年一个周期;一个周期完了重复使用,周而复始,循环下去。东汉光武帝建武二十九年癸丑年(公元53年)冬至月(大雪至小寒的月份,近似农历十一月)就是“甲子月”。有歌诀为证:甲己之年丙作首,乙庚之岁戊为头;丙辛必定寻庚起,丁壬壬位顺行流;更有戊癸何方觅,甲寅之上好追求。 下表是地支纪月时对应的节气时间段、中气、近似农历月份、近似阳历月份、以及年天干和月地支构成的月干支: 月地支 节气时间段 中气 近似农历月份 近似阳历月份 甲或己年 乙或庚年 丙或辛年 丁或壬年 戊或癸年 寅月 立春—惊蛰 雨水 正月 2月 丙寅月 戊寅月 庚寅月 壬寅月 甲寅月 卯月 惊蛰—清明 春分 二月 3月 丁卯月 己卯月 辛卯月 癸卯月 乙卯月 辰月 清明—立夏 谷雨 三月 4月 戊辰月 庚辰月 壬辰月 甲辰月 丙辰月 巳月 立夏—芒种 小满 四月 5月 己巳月 辛巳月 癸巳月 乙巳月 丁巳月 午月 芒种—小暑 夏至 五月 6月 庚午月 壬午月 甲午月 丙午月 戊午月 未月 小暑—立秋 大暑 六月 7月 辛未月 癸未月 乙未月 丁未月 己未月 申月 立秋—白露 处暑 七月 8月 壬申月 甲申月 丙申月 戊申月 庚申月 酉月 白露—寒露 秋分 八月 9月 癸酉月 乙酉月 丁酉月 己酉月 辛酉月 戌月 寒露—立冬 霜降 九月 10月 甲戌月 丙戌月 戊戌月 庚戌月 壬戌月 亥月 立冬—大雪 小雪 十月 11月 乙亥月 丁亥月 己亥月 辛亥月 癸亥月 子月 大雪—小寒 冬至 十一月 12月 丙子月 戊子月 庚子月 壬子月 甲子月 丑月 小寒—立春 大寒 十二月 1月 丁丑月 己丑月 辛丑月 癸丑月 乙丑月 干支纪月法未普遍实行,主要为星相家推算八字用。 推算实例:2004年大致是农历甲申年。那次甲申年自2004年2月4日19时56分立春起,至2005年2月4日1时43分立春止。这里的时刻是东经120度标准时。 丙寅月,2004年2月4日19时56分立春~2004年3月5日13时56分惊蛰 丁卯月,2004年3月5日13时56分惊蛰~2004年4月4日18时43分清明 戊辰月,2004年4月4日18时43分清明~2004年5月5日12时2分立夏 己巳月,2004年5月5日12时2分立夏~2004年6月5日16时14分芒种 庚午月,2004年6月5日16时14分芒种~2004年7月7日2时31分小暑 辛未月,2004年7月7日2时31分小暑~2004年8月7日12时20分立秋 壬申月,2004年8月7日12时20分立秋~2004年9月7日15时13分白露 癸酉月,2004年9月7日15时13分白露~2004年10月8日6时49分寒露 甲戌月,2004年10月8日6时49分寒露~2004年11月7日9时59分立冬 乙亥月,2004年11月7日9时59分立冬~2004年12月7日2时49分大雪 丙子月,2004年12月7日2时49分大雪~2005年1月5日14时3分小寒 丁丑月,2005年1月5日14时3分小寒~2005年2月4日1时43分大寒 天干地支纪日 干支纪日,60日大致合2个月一个周期;一个周期完了重复使用,周而复始,循环下去。确定的文献指出干支纪日始于鲁隐公三年夏历二月己巳日(公元前720年二月初十)。 因为儒略历的平年有365日,而每4年一次,公元年能被4整除,闰年有366日,平均一年36525日,所以4年1461日和一甲子的60日,最小公倍数是29220日,合80年。这就是说,每80年,干支纪日对应的儒略历月日日期会反复一次循环。(公元4年本来应为闰年,但因为公元前45年开始实施儒略历后,“每隔3年”加一次闰日被误为“每3年”加一次闰日,所以罗马皇帝屋大维下令前5年、前1年、4年停闰以修正错误置闰。) 因为格里历的平年有365日,而每4年一次闰年,但是如果遇上整百年,公元年能被400整除才能认定为闰年(这是因为按照现在立法计算,四年一闰的规定使每年多出00078天,经过400年大约会多出3天,如果在能被400整除年份的前面3个百年不算闰年,则正好平衡),闰年有366日,平均一年3652425日,所以400年146097日和一甲子的60日,最小公倍数是2921940日,合8000年。这就是说,每80年,干支纪日对应的格里历月日日期若没有遇到能被100但非400整除的公元年,会反复一次循环,但整体而言,假设未来从不改格里历,每8000年,干支纪日对应的格里历月日日期才会反复一次完整的循环。1912年2月18日,合农历壬子年正月初一,以及9912年2月18日,都是“甲子日”。 天干地支纪时 干支纪时,60时辰合5日一个周期;一个周期完了重复使用,周而复始,循环下去。必须注意的是子时分为0时到1时的早子时和23时到24时的晚子时,所以遇到甲或己之日,0时到1时是甲子时,但23时到24时是丙子时。晚子时又称子夜或夜子。日上起时亦有歌诀:甲己还加甲,乙庚丙作初;丙辛从戊起,丁壬庚子居;戊癸何方发,壬子是真途。下表列出日天干和时辰地支构成的时辰干支,以北京时间(UTC+8)为准: 时辰地支 北京时间(UTC+8)甲或己日 乙或庚日 丙或辛日 丁或壬日 戊或癸日 子时 23时—1时 甲子时 丙子时 戊子时 庚子时 壬子时 丑时 1时—3时 乙丑时 丁丑时 己丑时 辛丑时 癸丑时 寅时 3时—5时 丙寅时 戊寅时 庚寅时 壬寅时 甲寅时 卯时 5时—7时 丁卯时 己卯时 辛卯时 癸卯时 乙卯时 辰时 7时—9时 戊辰时 庚辰时 壬辰时 甲辰时 丙辰时 巳时 9时—11时 己巳时 辛巳时 癸巳时 乙巳时 丁巳时 午时 11时—13时 庚午时 壬午时 甲午时 丙午时 戊午时 未时 13时—15时 辛未时 癸未时 乙未时 丁未时 己未时 申时 15时—17时 壬申时 甲申时 丙申时 戊申时 庚申时 酉时 17时—19时 癸酉时 乙酉时 丁酉时 己酉时 辛酉时 戌时 19时—21时 甲戌时 丙戌时 戊戌时 庚戌时 壬戌时 亥时 21时—23时 乙亥时 丁亥时 己亥时 辛亥时 癸亥时 天干地支次序表 1 甲子 2乙丑 3丙寅 4丁卯 5戊辰 6己巳 7庚午 8辛未 9壬申 10癸酉 11甲戌 12乙亥 13丙子 14丁丑 15戊寅 16己卯 17庚辰 18辛巳 19壬午 20癸未 21甲申 22乙酉 23丙戌 24丁亥 25戊子 26己丑 27庚寅 28辛卯 29壬辰 30癸巳 31甲午 32乙未 33丙申 34丁酉 35戊戌 36己亥 37庚子 38辛丑 39壬寅 40癸卯 41甲辰 42乙巳 43丙午 44丁未 45戊申 46己酉 47庚戌 48辛亥 49壬子 50癸丑 51甲寅 52乙卯 53丙辰 54丁巳 55戊午 56己未 57庚申 58辛酉 59壬戌 60癸亥 天干地支的计算方法 (年份- 3)/10余数对天干 如1894-3=1891 ,1891除以10余数是1即为甲 (年份- 3)/12余数对地支 如1894-3=1891 ,1891除以12余数是7即为午 即1894年是甲午年 编辑本段其他相关 天干地支纪年法同时可纪年、月、日、时,分别称为“年柱、月柱、日柱、时柱”。此八个字就是俗称的“八字”。一个人的八字就是他出生时间的四柱记录。关于月、日、时的天干地支纪法,已使用不多,有兴趣的读者可去查阅有关资料。 十二地支与十二生肖对应,即子鼠、丑牛、寅虎、卯兔、辰龙、巳蛇、午马、未羊、申猴、酉鸡、戌狗、亥猪。

JS定时器有两种,分别是setTimeout和setInterval,区别是前者是一次执行,后者是循环执行,具体什么意思呢,直接看代码。

//指定时间为6000毫秒,即6s,到达6s后,执行一次,之后不再执行。

setTimeout(function(){

alert("执行一次定时器");

},6000);

//指定时间为6s,每过6s执行一次

setInterval(function(){

alert("循环执行定时器");

},6000);

1

2

3

4

5

6

7

8

9

1

2

3

4

5

6

7

8

9

要关闭定时器,首先我们要先获取到定时器,即如果页面中设置了多个定时器,我们需要知道要关闭那个定时器,直接看代码:

//定义一个变量获取到定时器

var timer = setInterval(function(){

alert("timer是一个数字,即代表了当前定时器");

},6000);

var timer2 = setTimeout(function(){

alert("第二个定时器");

},6000);

//调用方法,关闭指定的定时器

clearInterval(timer);

1

2

3

4

5

6

7

8

9

1

2

3

4

5

6

7

8

9

注:定时器启动后,刷新浏览器会清空定时器。有时我们在页面中定义了定时器,在关闭页面时,定时器并不会关闭,我们可以获取定时器,然后在页面的关闭事件中清除定时器。有时我们需要在其他页面对定时器进行关闭,这时可以在对应的页面定义变量,然后在定义定时器页面获取定时器,并赋值给指定页面的变量,这样就可以在指定页面对定时器进行关闭了,需要注意的是,如果我们定时器放到函数中时,在页面初始化时并不能获取到定时器,只有在调用了函数后才会获取到定时器,所以如果要在页面初始化时就获取定时器,不要将定时器放到函数中。这样在页面加载时可以直接加载定时器启动定时器,这样就能拿到定时器了。

以上就是关于jq 如何写某个点击事件在规定时间才生效全部的内容,包括:jq 如何写某个点击事件在规定时间才生效、开荒岛民第二季百度云、地图加标注!求把点击的标注加出来,地图API问题 JQ等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9700286.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存