23
两个辩论赛倒计时程序,分别是用Javascript和jQuery做的。(jQuery部分不是我写的哈。)
这是为学院辩论赛准备的。因为是投影在大屏幕上,不适合用按钮操作,所以我用网页的形式,并尽量避免鼠标操作。

1.Javascript
实现功能:在30秒与0秒时有声音提醒。30秒内字体变红。适用于开篇理论或总结陈词环节某方单独计时。
JS部分:
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 | <script language="javascript" type="text/javascript"> function chgMusic(src){ if (src){ document.getElementById('Music_div').innerHTML="<embed src='"+src+"'></embed>"; } } function CountTimer(totaltime,firstalerttime,obj){ this.second; this.is_CountTimeProcess1_running=false; this.CountTimeProcess1_end=function (){ obj.innerHTML = '<font color="#FF0000">时间到</font>'; is_CountTimeProcess1_running=false; } var _self = this; this.CountTime=function(){ this.second -= 1; m=Math.floor(this.second/60); se=Math.round(this.second-(Math.floor(this.second/60)*60)); if (this.second == 0) { chgMusic("1.wav"); this.CountTimeProcess1_end(); return ; } if (this.second==firstalerttime) { chgMusic("1.wav"); } if (this.second>firstalerttime) { obj.innerHTML = +m+'分'+se+'秒'; } else { obj.innerHTML = '<font color="#FF0000">'+m+'分'+se+'秒</font>'; } if (this.is_CountTimeProcess1_running)setTimeout(function(){_self.CountTime()},1000); } this.CountTimeProcess1_start=function (){ if (this.is_CountTimeProcess1_running)return; this.is_CountTimeProcess1_running=true; this.second=totaltime; this.CountTime(); } this.CountTimeProcess1_start(); } </script> |
HTML部分:
1 2 | <input onClick="new CountTimer(91,30,document.getElementById('second'))" type="text" /> <div id="second"> </div> |
2.jQuery
实现功能:30秒内字体变红。键盘控制。可双方倒计时交替或同时进行。适用于自由辩论环节双方累积计时。
P.S.需备有jquery与jquery.hotkeys库文件。
jQuery部分:
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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | <script src="jquery-1.3.1.js" type="text/javascript"></script> <script src="jquery.hotkeys.js" type="text/javascript"></script> <script> jQuery.fn.countDown = function(settings,to) { if(!to && to != settings.endNumber) { to = settings.startNumber; } this.data("CR_currentTime",to); var s; if (to<=30)s='<div style = "color:red">'+to+'秒</div>'; else s='<div>'+to+'秒</div>'; $(this).html(s).animate({"none":"none"},settings.duration,'',function() { if(to > settings.endNumber + 1) { $(this).countDown(settings,to - 1); }else{ settings.callBack(this); } }); return this; }; jQuery.fn.CRcountDown = function(settings) { settings = jQuery.extend({ startNumber: 240, endNumber: 0, duration: 1000, callBack: function() { } }, settings); this.data("CR_duration",settings.duration); this.data("CR_endNumber",settings.endNumber); this.data("CR_callBack",settings.callBack); return this.stop().countDown(settings); }; jQuery.fn.pause = function(settings) { return this.stop(); }; jQuery.fn.reStart = function() { return this.pause().CRcountDown({ startNumber : this.data("CR_currentTime"), duration : this.data("CR_duration"), endNumber : this.data("CR_endNumber"), callBack : this.data("CR_callBack") }); }; $.hotkeys.add('a', function(){ //a键控制正方开始 $("#test").CRcountDown({ startNumber:240, //正方倒计时时间 callBack:test }) .css("color","black"); }); $.hotkeys.add('s', function(){ //s键控制正方暂停 $("#test").pause(); }); $.hotkeys.add('d', function(){ //d键控制正方恢复 $("#test").reStart(); }); function test(){ $("<div class=t1>时间到</div>") .hide() .fadeIn(1000) .appendTo("body"); } $.hotkeys.add('z', function(){ //z键控制正方开始 $("#test2").CRcountDown({ startNumber:240, //反方倒计时时间 callBack:test2 }); }); $.hotkeys.add('c', function(){ //c键控制反方暂停 $("#test2").pause(); }); $.hotkeys.add('x', function(){ //x键控制正方恢复 $("#test2").reStart(); }); function test2(){ $("<div class=t2>时间到</div>") .hide() .fadeIn(1000) .appendTo("body"); } </script> |
HTML部分:
1 2 | <div id="test"> </div> <div id="test2"> </div> |
自由辩论环节的倒计时要求比较特殊,即要求能暂停,能恢复,双方累积计时。所以不得不用jQuery。总共控制六个按钮,操作相对复杂,应用前需要熟悉。




用PowerPoint做把XD当年偶就是用的PP做的倒计时
不熟悉VBA啊。。。只会JS
不需要VB啊,PowerPoint直接做个幻灯片就行了XD
尝试了两个小时,于是失败了XD
牛贴!我顶!
这是怎么实现的啊
这个。。真不难的。。不过很多也是朋友帮忙下完成的。
几时我也会这些,一点都看不懂。
看到代码晕乎乎
jQuery还能这样用?
不过就是个jQuery的程序罢了.因为JS没法实现暂停
PPT里能插入FLASH吗?感觉还是FLASH效果好啊
PPT里当然能插了。。还不止一种方法。但是不方便控制。
现在看来如果不需要暂停的话,这种东西用视频做是最好了。
嗯,这种东西写出来好,每年都造福很多人啊~
这是我断断续续折腾了好几周的结果~~唉。。
有谁能说的在具体点吗……我是一点看不懂啊……是吧flash直接插入到ppt里吗……那那些代码直接输入,就会象VB一样运行了吗……呵呵,本人是不会再加上笨点,希望各位帮帮忙啦……谢谢啦……
有谁能说的在具体点吗……flash直接插入到ppt里吗……那那些代码直接输入,就会象VB一样运行了吗……呵呵,本人是不会再加上笨点,希望各位帮帮忙啦……谢谢啦……
这个代码不是基于ppt也不是flash,是HTML网页。主要代码是javascript代码。 最后成品是个网页。
站点不错哦。
最近有点忙,很久没有来看看了!
牛!博主的文章不错。有空记得回访。http://www.sd-seo.com.cn
不错,大家来交流学习下。
博主的博客做的不错,不知道网站做的怎么样啊,有时间换个链接啊
文章不错,模板也挺不错的。