博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js 倒计时
阅读量:7125 次
发布时间:2019-06-28

本文共 2462 字,大约阅读时间需要 8 分钟。

//倒计时,分为时间格式和数字格式倒计时。带有具体格式 /*使用示例 $("#countDown").on("click",function(){
MY.countDown.getTime({
seconds:5,//倒计时数字 flag:"#countDown",//页面标识 type:"num",//倒计时类型 action:function(){//倒计时为0时可以执行的方法 $("#countDown").html("执行完毕"); } }); }); */ /* *para * 倒计时的秒数:obj.seconds * 返回数据类型:obj.type (time:时间类型,num:数字类型) * 插入文档中的位置:obj.flag * */ ;(function(){ var __countDown = { getTime:function(obj){ var lt = [],day1,hour,minute,second; var seconds = parseInt(obj.seconds); var flag = obj.flag; var type = obj.type; if(type === "num"){ //以数字形式展现出来的倒计时。 if(!$(flag).data("go") && $(flag).data("go") != "go"){ $(flag).data("go","go"); }else{ console.log("含有'data-go'属性,倒计时已经在执行"); return false; } $(flag).text(__countDown.formatTimeNum(seconds)); var countsId = setInterval(function(){ seconds--; seconds = __countDown.formatTimeNum(seconds); if(seconds == "00"){ if(obj && obj.action){ obj.action(); }else{ $(flag).text("00"); } $(flag).removeAttr("data-go"); clearInterval(countsId); }else{ $(flag).text(seconds); } },1000); }else{ //以时间形式展现的倒计时 if(!$(flag).data("go") && $(flag).data("go") != "go"){ $(flag).data("go","go"); }else{ console.log("含有'data-go=go'属性,倒计时已经在执行"); return false; } var leftTime = __countDown.leftTimeToArr(seconds); $(flag).html("" + leftTime["day"] + "天 "+"" + leftTime["hour"] + ":" + leftTime["minute"] +":" + leftTime["second"] + ""); var intervalId = setInterval(function(){ seconds = seconds - 1; if(seconds === 0){ if(obj && obj.action){ obj.action(); }else{ $(flag).html("0天00:00:00"); } $(flag).removeAttr("data-go"); clearInterval(intervalId); }else{ var leftTime = __countDown.leftTimeToArr(seconds); $(flag).html("" + leftTime["day"] + "天 "+"" + leftTime["hour"] + ":" + leftTime["minute"] +":" + leftTime["second"] + ""); } },1000); } }, leftTimeToArr:function(seconds){ var lt = [],day1,hour,minute,second; day1=Math.floor(seconds/(60*60*24)); lt["day"] = day1; hour=Math.floor((seconds-day1*24*60*60)/3600); hour = __countDown.formatTimeNum(hour); lt["hour"] = hour; minute=Math.floor((seconds-day1*24*60*60-hour*3600)/60); minute = __countDown.formatTimeNum(minute); lt["minute"] = minute; second=Math.floor(seconds-day1*24*60*60-hour*3600-minute*60); second = __countDown.formatTimeNum(second); lt["second"] = second; return lt; }, formatTimeNum:function(num){ if(parseInt(num) < 10){ num = "0" + num; } return num } }; TC.countDown = __countDown ||{};})();

转载于:https://www.cnblogs.com/baoliwei/p/4607366.html

你可能感兴趣的文章
论大数据对媒体融合的推进作用
查看>>
微软黑科技:DNA存储技术催生方糖大小的数据中心
查看>>
招聘新手段:录段语音来判断求职者是否适合岗位
查看>>
倪光南:大数据安全问题重要性远超数据安全
查看>>
应对网络威胁 有望不再被动“打补丁”
查看>>
老国企如何焕发新势能?致远互联“协同五环”锻造老而弥坚
查看>>
被戴尔收购的EMC宣布明年裁员:人数未定
查看>>
物联网时代MCU 将迎来三大发展趋势
查看>>
解决最后一米信号问题飞鱼星VF-E300全新上市
查看>>
智慧城市安全问题初探
查看>>
打造NFV环境下的专属性能
查看>>
测试用例编写规范
查看>>
SWIFT系统第三家银行曝遭网络劫匪抢走1200万美元
查看>>
Java的GC机制
查看>>
espresso系列3--测试实践
查看>>
espresso基础架构与API分析
查看>>
《Python语言程序设计》——2.15 本章总结
查看>>
《音乐达人秀:Adobe Audition CC实战222例》——实例5 麦克风说话和音乐播放等所有声音都混合录制...
查看>>
TIOBE 9 月编程语言排行榜,新 TIOBE 指数算法
查看>>
《Adobe Photoshop CC经典教程》—第2课2.6节使用Spot Healing Brush工具
查看>>